import { z } from 'zod';
import { type ThemeColorToken } from '../tokens/themeColorTokens';
export type TokenOrColor = string;
/**
 * Runtime color-reference fields intentionally accept any string, including
 * the legacy empty-string "no color" sentinel. Semantic validation needs
 * palette context and happens in `parseThemeColorReference`.
 */
export declare const tokenOrCssColorValueSchema: z.ZodString;
export type PaletteContextColorToken = string & {
    readonly __brand: 'PaletteContextColorToken';
};
export type ThemeColorReference = {
    kind: 'theme-token';
    token: ThemeColorToken;
} | {
    kind: 'palette-context-token';
    token: PaletteContextColorToken;
} | {
    kind: 'literal-css';
    value: string;
};
export type ThemeColorReferenceContext = {
    palette?: Readonly<Record<string, string>>;
};
type ParsedToken = {
    role: string;
    shade: number | null;
};
export declare function isCssColorLiteral(value: string): boolean;
export declare function parseThemeToken(token: string): ParsedToken;
export declare function parseThemeColorReference(input: TokenOrColor, context?: ThemeColorReferenceContext): ThemeColorReference;
export declare function resolveThemeColorReferenceValue(input: TokenOrColor, context?: ThemeColorReferenceContext): string;
export declare function resolveTokenOrCssColorValue(input: TokenOrColor, context?: ThemeColorReferenceContext): string;
export declare function resolveOnColorForThemeToken(token: string): string | null;
export {};
