// Auto-generated by designlang. Do not edit by hand.
// Re-extract with `npx designlang <url>` to refresh.
//
// Import next to your token JSON to get type-safe access:
//
//   import type { ColorToken, SpacingToken } from './<host>-tokens';
//   import tokens from './<host>-design-tokens.json';
//
// Source: https://arc.net
// Generated: 2026-05-17T21:15:56.873Z

export type Hex = `#${string}`;
export type Px  = `${number}px`;
export type Ms  = `${number}ms`;

export type ColorRole = 'primary' | 'secondary' | 'accent';
export type ColorHex  = '#000000' | '#3139fb' | '#fffcec' | '#ffffff' | '#fffadd' | '#2702c2' | '#696969';
export type ColorToken = ColorRole | ColorHex;

export type FontFamilyToken = 'Marlin' | 'Marlin Soft SQ' | 'Times' | 'InterVariable' | 'ABC Favorit Mono' | 'ABC Oracle' | 'Exposure VAR';
export type FontSizeToken   = never;
export type FontWeightToken = '400' | '700' | '600' | '500' | '800';

export type SpacingToken = '2px' | '32px' | '37px' | '48px' | '64px' | '72px' | '80px' | '90px' | '128px' | '150px' | '155px' | '160px' | '383px';

export type RadiusToken = '4px' | '8px' | '22px';

export type DurationToken = '100ms' | '200ms';
export type EasingToken   = never;

export type MaterialLanguage = 'flat';

export interface DesignTokens {
  color: { [role in ColorRole]: ColorHex };
  typography: {
    family: FontFamilyToken;
    size: FontSizeToken;
    weight: FontWeightToken;
  };
  spacing: ReadonlyArray<SpacingToken>;
  radius:  ReadonlyArray<RadiusToken>;
  motion: {
    duration: ReadonlyArray<DurationToken>;
    easing:   ReadonlyArray<EasingToken>;
  };
}

declare const tokens: DesignTokens;
export default tokens;
