/**
 * Theme Validation
 *
 * Zod schemas for validating theme definitions.
 *
 * @since v1.57.0
 */
import { z } from 'zod';
/**
 * Hex color schema
 */
export declare const HexColorSchema: z.ZodString;
/**
 * Any color schema (hex or rgba)
 */
export declare const ColorSchema: z.ZodEffects<z.ZodString, string, string>;
/**
 * Background colors schema
 */
export declare const BackgroundColorsSchema: z.ZodObject<{
    primary: z.ZodString;
    secondary: z.ZodString;
    tertiary: z.ZodString;
    elevated: z.ZodString;
    overlay: z.ZodEffects<z.ZodString, string, string>;
}, "strip", z.ZodTypeAny, {
    primary: string;
    secondary: string;
    tertiary: string;
    elevated: string;
    overlay: string;
}, {
    primary: string;
    secondary: string;
    tertiary: string;
    elevated: string;
    overlay: string;
}>;
/**
 * Foreground colors schema
 */
export declare const ForegroundColorsSchema: z.ZodObject<{
    primary: z.ZodString;
    secondary: z.ZodString;
    tertiary: z.ZodString;
    inverse: z.ZodString;
}, "strip", z.ZodTypeAny, {
    primary: string;
    secondary: string;
    tertiary: string;
    inverse: string;
}, {
    primary: string;
    secondary: string;
    tertiary: string;
    inverse: string;
}>;
/**
 * Accent colors schema
 */
export declare const AccentColorsSchema: z.ZodObject<{
    primary: z.ZodString;
    secondary: z.ZodString;
    muted: z.ZodString;
}, "strip", z.ZodTypeAny, {
    primary: string;
    secondary: string;
    muted: string;
}, {
    primary: string;
    secondary: string;
    muted: string;
}>;
/**
 * Status colors schema
 */
export declare const StatusColorsSchema: z.ZodObject<{
    success: z.ZodString;
    warning: z.ZodString;
    error: z.ZodString;
    info: z.ZodString;
}, "strip", z.ZodTypeAny, {
    success: string;
    warning: string;
    error: string;
    info: string;
}, {
    success: string;
    warning: string;
    error: string;
    info: string;
}>;
/**
 * Interactive colors schema
 */
export declare const InteractiveColorsSchema: z.ZodObject<{
    default: z.ZodString;
    hover: z.ZodString;
    active: z.ZodString;
    disabled: z.ZodString;
}, "strip", z.ZodTypeAny, {
    default: string;
    disabled: string;
    hover: string;
    active: string;
}, {
    default: string;
    disabled: string;
    hover: string;
    active: string;
}>;
/**
 * Border colors schema
 */
export declare const BorderColorsSchema: z.ZodObject<{
    default: z.ZodString;
    subtle: z.ZodString;
    strong: z.ZodString;
}, "strip", z.ZodTypeAny, {
    default: string;
    subtle: string;
    strong: string;
}, {
    default: string;
    subtle: string;
    strong: string;
}>;
/**
 * Semantic colors schema
 */
export declare const SemanticColorsSchema: z.ZodObject<{
    bg: z.ZodObject<{
        primary: z.ZodString;
        secondary: z.ZodString;
        tertiary: z.ZodString;
        elevated: z.ZodString;
        overlay: z.ZodEffects<z.ZodString, string, string>;
    }, "strip", z.ZodTypeAny, {
        primary: string;
        secondary: string;
        tertiary: string;
        elevated: string;
        overlay: string;
    }, {
        primary: string;
        secondary: string;
        tertiary: string;
        elevated: string;
        overlay: string;
    }>;
    fg: z.ZodObject<{
        primary: z.ZodString;
        secondary: z.ZodString;
        tertiary: z.ZodString;
        inverse: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        primary: string;
        secondary: string;
        tertiary: string;
        inverse: string;
    }, {
        primary: string;
        secondary: string;
        tertiary: string;
        inverse: string;
    }>;
    accent: z.ZodObject<{
        primary: z.ZodString;
        secondary: z.ZodString;
        muted: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        primary: string;
        secondary: string;
        muted: string;
    }, {
        primary: string;
        secondary: string;
        muted: string;
    }>;
    status: z.ZodObject<{
        success: z.ZodString;
        warning: z.ZodString;
        error: z.ZodString;
        info: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        success: string;
        warning: string;
        error: string;
        info: string;
    }, {
        success: string;
        warning: string;
        error: string;
        info: string;
    }>;
    interactive: z.ZodObject<{
        default: z.ZodString;
        hover: z.ZodString;
        active: z.ZodString;
        disabled: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        default: string;
        disabled: string;
        hover: string;
        active: string;
    }, {
        default: string;
        disabled: string;
        hover: string;
        active: string;
    }>;
    border: z.ZodObject<{
        default: z.ZodString;
        subtle: z.ZodString;
        strong: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        default: string;
        subtle: string;
        strong: string;
    }, {
        default: string;
        subtle: string;
        strong: string;
    }>;
}, "strip", z.ZodTypeAny, {
    status: {
        success: string;
        warning: string;
        error: string;
        info: string;
    };
    border: {
        default: string;
        subtle: string;
        strong: string;
    };
    bg: {
        primary: string;
        secondary: string;
        tertiary: string;
        elevated: string;
        overlay: string;
    };
    fg: {
        primary: string;
        secondary: string;
        tertiary: string;
        inverse: string;
    };
    accent: {
        primary: string;
        secondary: string;
        muted: string;
    };
    interactive: {
        default: string;
        disabled: string;
        hover: string;
        active: string;
    };
}, {
    status: {
        success: string;
        warning: string;
        error: string;
        info: string;
    };
    border: {
        default: string;
        subtle: string;
        strong: string;
    };
    bg: {
        primary: string;
        secondary: string;
        tertiary: string;
        elevated: string;
        overlay: string;
    };
    fg: {
        primary: string;
        secondary: string;
        tertiary: string;
        inverse: string;
    };
    accent: {
        primary: string;
        secondary: string;
        muted: string;
    };
    interactive: {
        default: string;
        disabled: string;
        hover: string;
        active: string;
    };
}>;
/**
 * Gradient definition schema
 */
export declare const GradientDefinitionSchema: z.ZodObject<{
    type: z.ZodEnum<["linear", "radial"]>;
    stops: z.ZodArray<z.ZodString, "many">;
    angle: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    type: "linear" | "radial";
    stops: string[];
    angle?: number | undefined;
}, {
    type: "linear" | "radial";
    stops: string[];
    angle?: number | undefined;
}>;
/**
 * Gradient set schema
 */
export declare const GradientSetSchema: z.ZodObject<{
    primary: z.ZodOptional<z.ZodObject<{
        type: z.ZodEnum<["linear", "radial"]>;
        stops: z.ZodArray<z.ZodString, "many">;
        angle: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        type: "linear" | "radial";
        stops: string[];
        angle?: number | undefined;
    }, {
        type: "linear" | "radial";
        stops: string[];
        angle?: number | undefined;
    }>>;
    secondary: z.ZodOptional<z.ZodObject<{
        type: z.ZodEnum<["linear", "radial"]>;
        stops: z.ZodArray<z.ZodString, "many">;
        angle: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        type: "linear" | "radial";
        stops: string[];
        angle?: number | undefined;
    }, {
        type: "linear" | "radial";
        stops: string[];
        angle?: number | undefined;
    }>>;
    background: z.ZodOptional<z.ZodObject<{
        type: z.ZodEnum<["linear", "radial"]>;
        stops: z.ZodArray<z.ZodString, "many">;
        angle: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        type: "linear" | "radial";
        stops: string[];
        angle?: number | undefined;
    }, {
        type: "linear" | "radial";
        stops: string[];
        angle?: number | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    primary?: {
        type: "linear" | "radial";
        stops: string[];
        angle?: number | undefined;
    } | undefined;
    secondary?: {
        type: "linear" | "radial";
        stops: string[];
        angle?: number | undefined;
    } | undefined;
    background?: {
        type: "linear" | "radial";
        stops: string[];
        angle?: number | undefined;
    } | undefined;
}, {
    primary?: {
        type: "linear" | "radial";
        stops: string[];
        angle?: number | undefined;
    } | undefined;
    secondary?: {
        type: "linear" | "radial";
        stops: string[];
        angle?: number | undefined;
    } | undefined;
    background?: {
        type: "linear" | "radial";
        stops: string[];
        angle?: number | undefined;
    } | undefined;
}>;
/**
 * Animation set schema
 */
export declare const AnimationSetSchema: z.ZodObject<{
    shimmer: z.ZodOptional<z.ZodBoolean>;
    colorCycle: z.ZodOptional<z.ZodBoolean>;
    speed: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    shimmer?: boolean | undefined;
    colorCycle?: boolean | undefined;
    speed?: number | undefined;
}, {
    shimmer?: boolean | undefined;
    colorCycle?: boolean | undefined;
    speed?: number | undefined;
}>;
/**
 * Tier schema
 */
export declare const TierSchema: z.ZodEnum<["free", "plus", "pro", "max"]>;
/**
 * Theme type schema
 */
export declare const ThemeTypeSchema: z.ZodEnum<["dark", "light"]>;
/**
 * Theme category schema
 */
export declare const ThemeCategorySchema: z.ZodEnum<["default", "designer", "accessibility", "seasonal", "community"]>;
/**
 * Extended theme schema
 */
export declare const ExtendedThemeSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
    author: z.ZodString;
    minTier: z.ZodEnum<["free", "plus", "pro", "max"]>;
    type: z.ZodEnum<["dark", "light"]>;
    category: z.ZodEnum<["default", "designer", "accessibility", "seasonal", "community"]>;
    description: z.ZodOptional<z.ZodString>;
    colors: z.ZodObject<{
        bg: z.ZodObject<{
            primary: z.ZodString;
            secondary: z.ZodString;
            tertiary: z.ZodString;
            elevated: z.ZodString;
            overlay: z.ZodEffects<z.ZodString, string, string>;
        }, "strip", z.ZodTypeAny, {
            primary: string;
            secondary: string;
            tertiary: string;
            elevated: string;
            overlay: string;
        }, {
            primary: string;
            secondary: string;
            tertiary: string;
            elevated: string;
            overlay: string;
        }>;
        fg: z.ZodObject<{
            primary: z.ZodString;
            secondary: z.ZodString;
            tertiary: z.ZodString;
            inverse: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            primary: string;
            secondary: string;
            tertiary: string;
            inverse: string;
        }, {
            primary: string;
            secondary: string;
            tertiary: string;
            inverse: string;
        }>;
        accent: z.ZodObject<{
            primary: z.ZodString;
            secondary: z.ZodString;
            muted: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            primary: string;
            secondary: string;
            muted: string;
        }, {
            primary: string;
            secondary: string;
            muted: string;
        }>;
        status: z.ZodObject<{
            success: z.ZodString;
            warning: z.ZodString;
            error: z.ZodString;
            info: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            success: string;
            warning: string;
            error: string;
            info: string;
        }, {
            success: string;
            warning: string;
            error: string;
            info: string;
        }>;
        interactive: z.ZodObject<{
            default: z.ZodString;
            hover: z.ZodString;
            active: z.ZodString;
            disabled: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            default: string;
            disabled: string;
            hover: string;
            active: string;
        }, {
            default: string;
            disabled: string;
            hover: string;
            active: string;
        }>;
        border: z.ZodObject<{
            default: z.ZodString;
            subtle: z.ZodString;
            strong: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            default: string;
            subtle: string;
            strong: string;
        }, {
            default: string;
            subtle: string;
            strong: string;
        }>;
    }, "strip", z.ZodTypeAny, {
        status: {
            success: string;
            warning: string;
            error: string;
            info: string;
        };
        border: {
            default: string;
            subtle: string;
            strong: string;
        };
        bg: {
            primary: string;
            secondary: string;
            tertiary: string;
            elevated: string;
            overlay: string;
        };
        fg: {
            primary: string;
            secondary: string;
            tertiary: string;
            inverse: string;
        };
        accent: {
            primary: string;
            secondary: string;
            muted: string;
        };
        interactive: {
            default: string;
            disabled: string;
            hover: string;
            active: string;
        };
    }, {
        status: {
            success: string;
            warning: string;
            error: string;
            info: string;
        };
        border: {
            default: string;
            subtle: string;
            strong: string;
        };
        bg: {
            primary: string;
            secondary: string;
            tertiary: string;
            elevated: string;
            overlay: string;
        };
        fg: {
            primary: string;
            secondary: string;
            tertiary: string;
            inverse: string;
        };
        accent: {
            primary: string;
            secondary: string;
            muted: string;
        };
        interactive: {
            default: string;
            disabled: string;
            hover: string;
            active: string;
        };
    }>;
    gradients: z.ZodOptional<z.ZodObject<{
        primary: z.ZodOptional<z.ZodObject<{
            type: z.ZodEnum<["linear", "radial"]>;
            stops: z.ZodArray<z.ZodString, "many">;
            angle: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type: "linear" | "radial";
            stops: string[];
            angle?: number | undefined;
        }, {
            type: "linear" | "radial";
            stops: string[];
            angle?: number | undefined;
        }>>;
        secondary: z.ZodOptional<z.ZodObject<{
            type: z.ZodEnum<["linear", "radial"]>;
            stops: z.ZodArray<z.ZodString, "many">;
            angle: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type: "linear" | "radial";
            stops: string[];
            angle?: number | undefined;
        }, {
            type: "linear" | "radial";
            stops: string[];
            angle?: number | undefined;
        }>>;
        background: z.ZodOptional<z.ZodObject<{
            type: z.ZodEnum<["linear", "radial"]>;
            stops: z.ZodArray<z.ZodString, "many">;
            angle: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type: "linear" | "radial";
            stops: string[];
            angle?: number | undefined;
        }, {
            type: "linear" | "radial";
            stops: string[];
            angle?: number | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        primary?: {
            type: "linear" | "radial";
            stops: string[];
            angle?: number | undefined;
        } | undefined;
        secondary?: {
            type: "linear" | "radial";
            stops: string[];
            angle?: number | undefined;
        } | undefined;
        background?: {
            type: "linear" | "radial";
            stops: string[];
            angle?: number | undefined;
        } | undefined;
    }, {
        primary?: {
            type: "linear" | "radial";
            stops: string[];
            angle?: number | undefined;
        } | undefined;
        secondary?: {
            type: "linear" | "radial";
            stops: string[];
            angle?: number | undefined;
        } | undefined;
        background?: {
            type: "linear" | "radial";
            stops: string[];
            angle?: number | undefined;
        } | undefined;
    }>>;
    animations: z.ZodOptional<z.ZodObject<{
        shimmer: z.ZodOptional<z.ZodBoolean>;
        colorCycle: z.ZodOptional<z.ZodBoolean>;
        speed: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        shimmer?: boolean | undefined;
        colorCycle?: boolean | undefined;
        speed?: number | undefined;
    }, {
        shimmer?: boolean | undefined;
        colorCycle?: boolean | undefined;
        speed?: number | undefined;
    }>>;
    version: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    type: "dark" | "light";
    name: string;
    id: string;
    colors: {
        status: {
            success: string;
            warning: string;
            error: string;
            info: string;
        };
        border: {
            default: string;
            subtle: string;
            strong: string;
        };
        bg: {
            primary: string;
            secondary: string;
            tertiary: string;
            elevated: string;
            overlay: string;
        };
        fg: {
            primary: string;
            secondary: string;
            tertiary: string;
            inverse: string;
        };
        accent: {
            primary: string;
            secondary: string;
            muted: string;
        };
        interactive: {
            default: string;
            disabled: string;
            hover: string;
            active: string;
        };
    };
    category: "default" | "accessibility" | "community" | "designer" | "seasonal";
    author: string;
    minTier: "free" | "plus" | "pro" | "max";
    version?: string | undefined;
    description?: string | undefined;
    gradients?: {
        primary?: {
            type: "linear" | "radial";
            stops: string[];
            angle?: number | undefined;
        } | undefined;
        secondary?: {
            type: "linear" | "radial";
            stops: string[];
            angle?: number | undefined;
        } | undefined;
        background?: {
            type: "linear" | "radial";
            stops: string[];
            angle?: number | undefined;
        } | undefined;
    } | undefined;
    animations?: {
        shimmer?: boolean | undefined;
        colorCycle?: boolean | undefined;
        speed?: number | undefined;
    } | undefined;
}, {
    type: "dark" | "light";
    name: string;
    id: string;
    colors: {
        status: {
            success: string;
            warning: string;
            error: string;
            info: string;
        };
        border: {
            default: string;
            subtle: string;
            strong: string;
        };
        bg: {
            primary: string;
            secondary: string;
            tertiary: string;
            elevated: string;
            overlay: string;
        };
        fg: {
            primary: string;
            secondary: string;
            tertiary: string;
            inverse: string;
        };
        accent: {
            primary: string;
            secondary: string;
            muted: string;
        };
        interactive: {
            default: string;
            disabled: string;
            hover: string;
            active: string;
        };
    };
    category: "default" | "accessibility" | "community" | "designer" | "seasonal";
    author: string;
    minTier: "free" | "plus" | "pro" | "max";
    version?: string | undefined;
    description?: string | undefined;
    gradients?: {
        primary?: {
            type: "linear" | "radial";
            stops: string[];
            angle?: number | undefined;
        } | undefined;
        secondary?: {
            type: "linear" | "radial";
            stops: string[];
            angle?: number | undefined;
        } | undefined;
        background?: {
            type: "linear" | "radial";
            stops: string[];
            angle?: number | undefined;
        } | undefined;
    } | undefined;
    animations?: {
        shimmer?: boolean | undefined;
        colorCycle?: boolean | undefined;
        speed?: number | undefined;
    } | undefined;
}>;
/**
 * Theme metadata schema (for gallery display)
 */
export declare const ThemeMetadataSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
    author: z.ZodString;
    minTier: z.ZodEnum<["free", "plus", "pro", "max"]>;
    type: z.ZodEnum<["dark", "light"]>;
    category: z.ZodEnum<["default", "designer", "accessibility", "seasonal", "community"]>;
    description: z.ZodOptional<z.ZodString>;
    previewColors: z.ZodOptional<z.ZodObject<{
        bg: z.ZodString;
        fg: z.ZodString;
        accent: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        bg: string;
        fg: string;
        accent: string;
    }, {
        bg: string;
        fg: string;
        accent: string;
    }>>;
}, "strip", z.ZodTypeAny, {
    type: "dark" | "light";
    name: string;
    id: string;
    category: "default" | "accessibility" | "community" | "designer" | "seasonal";
    author: string;
    minTier: "free" | "plus" | "pro" | "max";
    description?: string | undefined;
    previewColors?: {
        bg: string;
        fg: string;
        accent: string;
    } | undefined;
}, {
    type: "dark" | "light";
    name: string;
    id: string;
    category: "default" | "accessibility" | "community" | "designer" | "seasonal";
    author: string;
    minTier: "free" | "plus" | "pro" | "max";
    description?: string | undefined;
    previewColors?: {
        bg: string;
        fg: string;
        accent: string;
    } | undefined;
}>;
/**
 * User theme preferences schema
 */
export declare const ThemePreferencesSchema: z.ZodObject<{
    activeTheme: z.ZodString;
    recentThemes: z.ZodArray<z.ZodString, "many">;
    customThemes: z.ZodArray<z.ZodString, "many">;
    autoDarkMode: z.ZodOptional<z.ZodObject<{
        enabled: z.ZodBoolean;
        lightTheme: z.ZodString;
        darkTheme: z.ZodString;
        lightHour: z.ZodNumber;
        darkHour: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        enabled: boolean;
        lightTheme: string;
        darkTheme: string;
        lightHour: number;
        darkHour: number;
    }, {
        enabled: boolean;
        lightTheme: string;
        darkTheme: string;
        lightHour: number;
        darkHour: number;
    }>>;
}, "strip", z.ZodTypeAny, {
    activeTheme: string;
    recentThemes: string[];
    customThemes: string[];
    autoDarkMode?: {
        enabled: boolean;
        lightTheme: string;
        darkTheme: string;
        lightHour: number;
        darkHour: number;
    } | undefined;
}, {
    activeTheme: string;
    recentThemes: string[];
    customThemes: string[];
    autoDarkMode?: {
        enabled: boolean;
        lightTheme: string;
        darkTheme: string;
        lightHour: number;
        darkHour: number;
    } | undefined;
}>;
/**
 * Validate a theme definition
 */
export declare function validateTheme(theme: unknown): {
    success: boolean;
    data?: z.infer<typeof ExtendedThemeSchema>;
    errors?: z.ZodError;
};
/**
 * Get human-readable validation errors
 */
export declare function getValidationErrors(errors: z.ZodError): string[];
/**
 * Validate a hex color
 */
export declare function isValidHexColor(color: string): boolean;
/**
 * Validate a theme ID
 */
export declare function isValidThemeId(id: string): boolean;
//# sourceMappingURL=theme-validator.d.ts.map