// 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://notion.so
// Generated: 2026-05-17T21:15:57.936Z

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

export type ColorRole = 'primary' | 'secondary' | 'accent';
export type ColorHex  = '#000000' | '#f6f5f4' | '#a39e98' | '#ffffff' | '#615d59' | '#0075de' | '#097fe8' | '#62aef0' | '#f64932' | '#9c7054' | '#ff6d00' | '#78736f' | '#9849e8' | '#ffb110' | '#27918d' | '#02093a' | '#2a9d99' | '#191918' | '#455dd3' | '#ffc95e' | '#f77463' | '#ad6ded' | '#ff8a33' | '#ff83dd' | '#b18164' | '#fff5e0' | '#213183' | '#1aae39' | '#c0c0c0' | '#dddddd';
export type ColorToken = ColorRole | ColorHex;

export type FontFamilyToken = 'NotionInter' | 'Times' | 'Lyon Text';
export type FontSizeToken   = never;
export type FontWeightToken = '400' | '500' | '700' | '600';

export type SpacingToken = '2px' | '20px' | '24px' | '28px' | '32px' | '40px' | '44px' | '48px' | '56px' | '60px' | '64px' | '78px' | '93px' | '125px' | '167px' | '177px' | '186px' | '225px' | '316px';

export type RadiusToken = '4px' | '8px' | '12px' | '16px' | '50px' | '100px' | '9999px';

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

export type MaterialLanguage = 'material-you';

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;
