/**
 * Represents a token value that can be either:
 * - A flat string value (e.g., 'primary': '#0D262E')
 * - A nested object with shade variants (e.g., 'orange': { '500': '#FF4F00', '400': '#FF7233' })
 */
export type TokenValue = string | Record<string, string>;
/**
 * Registry of design tokens organized by category.
 * Each category maps token names to either string values or nested shade objects.
 */
export type TokenRegistry = {
    colors: Record<string, TokenValue>;
    spacing: Record<string, TokenValue>;
    fontSize: Record<string, TokenValue>;
    borderRadius: Record<string, TokenValue>;
    boxShadow: Record<string, TokenValue>;
    fontFamily: Record<string, TokenValue>;
};
/**
 * Response format for the tokens API endpoint
 */
export type TokenResponse = {
    registry: TokenRegistry;
    framework: 'tailwind' | 'css-variables' | 'css-in-js' | null;
};
/**
 * Request format for updating a token value
 */
export type TokenUpdateRequest = {
    category: keyof TokenRegistry;
    path: string;
    value: string;
};
/**
 * Base interface for token extraction adapters.
 * Each adapter implements framework-specific logic for detecting and extracting design tokens.
 */
export interface BaseTokenAdapter {
    /**
     * Detects if this adapter can handle the project's token configuration
     */
    detect(projectRoot: string): boolean;
    /**
     * Extracts design tokens from the project configuration
     * @param projectRoot - Root directory of the project
     * @param configPath - Optional explicit path to config file
     */
    extract(projectRoot: string, configPath?: string): TokenRegistry | null;
    /**
     * Returns the framework name this adapter supports
     */
    getFramework(): string;
}
//# sourceMappingURL=token-types.d.ts.map