import { RpEditorConfig } from '../types/index.js'; /** * Default configuration values */ export declare const DEFAULT_CONFIG: Required> & { maxResolution: number | null; theme: NonNullable; onApply?: () => void; onClose?: () => void; filterPresets?: RpEditorConfig['filterPresets']; filterPresetLabels?: RpEditorConfig['filterPresetLabels']; onImageLoaded?: RpEditorConfig['onImageLoaded']; onError?: RpEditorConfig['onError']; onModeChanged?: RpEditorConfig['onModeChanged']; calloutDefaults?: RpEditorConfig['calloutDefaults']; strings?: RpEditorConfig['strings']; language?: RpEditorConfig['language']; labels?: RpEditorConfig['labels']; currentImageIndex?: RpEditorConfig['currentImageIndex']; totalImages?: RpEditorConfig['totalImages']; }; /** * Parse a CSS color string into RGB. Supports #rgb, #rrggbb, and rgb()/rgba(). * Returns null when the color can't be parsed (e.g. named colors, hsl()). */ export declare function parseColor(input: string): { r: number; g: number; b: number; } | null; /** * Deep merge configuration with defaults. * * When a caller customizes a background color (e.g. `toolbarBackground`) but * does NOT also supply the paired foreground (e.g. `toolbarIconColor`), the * default foreground from the light theme would silently bleed through and * become unreadable. To avoid that, we auto-derive a contrasting foreground * from the supplied background using WCAG relative luminance. */ export declare function mergeConfig(userConfig?: Partial): typeof DEFAULT_CONFIG & RpEditorConfig;