/**
 * Public SDK theme contracts.
 *
 * The SDK keeps the full theme schema intentionally broad so consumers don't
 * couple to the underlying blocks package, while still exposing the pieces the
 * SDK runtime genuinely reads.
 */
export type Theme = {
    header?: {
        variant?: 'classic' | 'centered' | 'transparent' | 'floating' | 'editorial';
        [key: string]: unknown;
    };
    footer?: {
        mode?: 'default' | 'blocks' | 'default+blocks' | 'none';
        [key: string]: unknown;
    };
    [key: string]: unknown;
};
export declare const colorTokens: readonly ["background/base", "background/elevated", "surface/base", "surface/subtle", "surface/inverted", "content/primary", "content/secondary", "accent/primary", "accent/secondary", "border/base"];
export declare const typographyTokens: readonly ["display/hero", "display/section", "heading/large", "heading/medium", "heading/small", "body/normal", "body/small", "caption"];
export declare const spacingTokens: readonly ["none", "3xs", "2xs", "xs", "sm", "md", "lg", "xl", "2xl", "3xl"];
export declare const radiusTokens: readonly ["none", "xs", "sm", "md", "lg", "pill", "full"];
export declare const shadowTokens: readonly ["none", "soft", "medium", "strong"];
export type ThemeTokens = {
    color: Record<(typeof colorTokens)[number], string>;
    typography: Record<(typeof typographyTokens)[number], {
        fontSize: string;
        lineHeight: string;
        fontWeight?: string;
    }>;
    spacing: Record<(typeof spacingTokens)[number], string>;
    radius: Record<(typeof radiusTokens)[number], string>;
    shadow: Record<(typeof shadowTokens)[number], string>;
    palette: Record<string, string>;
};
