// 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://spotify.com
// Generated: 2026-05-17T21:15:59.522Z

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

export type ColorRole = 'primary' | 'secondary' | 'accent';
export type ColorHex  = '#ffffff' | '#b3b3b3' | '#000000' | '#696969' | '#1ed760' | '#555555' | '#7c7c7c' | '#121212' | '#1f1f1f' | '#333333' | '#468254' | '#3860be' | '#346e4a' | '#292929' | '#0000ee' | '#c1c1c1' | '#402830' | '#667a7a' | '#6e7598' | '#7a7a11' | '#404040' | '#401800' | '#002038' | '#517aa3' | '#a16387' | '#c0574a' | '#006050' | '#eeeeee' | '#d8d8d8' | '#1db954' | '#701818' | '#c03830' | '#186090' | '#177ace' | '#a01010' | '#b03830' | '#501810' | '#d02028' | '#a03840' | '#b04808' | '#ba3cd1' | '#587888' | '#067eb6' | '#418369' | '#284038' | '#c00808' | '#204090' | '#a3694f' | '#4f7f77' | '#703090' | '#183860' | '#32ae88';
export type ColorToken = ColorRole | ColorHex;

export type FontFamilyToken = 'SpotifyMixUI' | 'Times' | 'SpotifyMixUITitle';
export type FontSizeToken   = never;
export type FontWeightToken = '400' | '700' | '600' | '500';

export type SpacingToken = '1px' | '15px' | '20px' | '23px' | '28px' | '35px' | '40px' | '48px' | '64px' | '96px' | '125px' | '154px';

export type RadiusToken = '2px' | '6px' | '10px' | '16px' | '20px' | '32px' | '50px' | '500px' | '9999px';

export type DurationToken = '100ms' | '200ms' | '300ms' | '500ms' | '1000ms';
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;
