import { type ReactElement } from 'react';
export interface SchemaValues {
    backgrounds: Record<string, string>;
    text: Record<string, string>;
    border: Record<string, string>;
    accentHex: string;
    /** Global border width (px) applied to card/sidebar/header/etc. */
    borderWidth: number;
}
type Category = 'backgrounds' | 'text' | 'border';
interface ThemeSchemaEditorProps {
    readonly values: SchemaValues;
    readonly onChange: (patch: {
        backgrounds?: Record<string, string>;
        text?: Record<string, string>;
        border?: Record<string, string>;
        borderWidth?: number;
    }) => void;
    /** Categories the caller forbids editing. Clicking a zone of these categories
     *  still selects it (to show info) but the inline editor becomes read-only. */
    readonly readOnlyCategories?: ReadonlyArray<Category>;
    /** Optional hint displayed under the inline editor when the selected zone
     *  belongs to a read-only category. */
    readonly readOnlyHint?: string;
    /** Active theme mode — feeds the suggested-colour palette for each category. */
    readonly mode?: 'light' | 'dark';
}
export declare function ThemeSchemaEditor({ values, onChange, readOnlyCategories, readOnlyHint, mode }: ThemeSchemaEditorProps): ReactElement;
export {};
//# sourceMappingURL=ThemeSchemaEditor.d.ts.map