import { FlattenSimpleInterpolation } from 'styled-components';
export interface ThemeObject {
    theme: Mode;
}
export interface Mode {
    name: string;
    type: 'THEME' | 'DEVICE';
    [key: string]: unknown;
}
export type TokenValue = string | number | FlattenSimpleInterpolation;
export type TokenProxy = (grade: number) => TokenProxy | TokenPrimitive;
export type TokenPrimitive = (grade: number) => TokenValue;
type TokenType = 'COLOR' | 'SIZE' | 'MOTION' | 'LAYOUT';
export interface Token {
    default?: string;
    type: TokenType;
    modes: {
        [mode: string]: TokenPrimitive | TokenValue;
    };
}
export declare function readToken(token: Token, grade?: number): TokenValue | (({ theme }: ThemeObject) => TokenValue);
export {};
