import { ICON_SETS, getIconSvgInner, IconSet } from '../icons/index';
import { ResolvedTheme } from '../ui/index';
export { ICON_SETS, getIconSvgInner };
export type { IconSet };
export type AccentTheme = 'orange' | 'cyan' | 'violet' | 'rose' | 'emerald';
export type FontPreference = 'sora' | 'inter' | 'roboto' | 'system' | 'jetbrains-mono';
export interface AppearanceConfig {
    onToggleCycleUpdate?: (themes: ResolvedTheme[]) => void;
}
export interface AppearanceSyncConfig extends AppearanceConfig {
    endpoint?: string;
    getToken?: () => string | null;
}
export declare function isValidAccent(value: string | null | undefined): value is AccentTheme;
export declare function isValidFont(value: string | null | undefined): value is FontPreference;
export declare function getStoredAccent(): AccentTheme;
export declare function getStoredFont(): FontPreference;
export declare function applyAccent(accent: AccentTheme): void;
export declare function applyFont(font: FontPreference): void;
export declare function setAccent(accent: AccentTheme): void;
export declare function setFont(font: FontPreference): void;
export declare function isValidIconSet(value: string | null | undefined): value is IconSet;
export declare function getStoredIconSet(): IconSet;
export declare function applyIconSet(iconSet: IconSet): void;
export declare function setIconSet(iconSet: IconSet): void;
export declare function getStoredQuickSwitcherThemes(): ResolvedTheme[];
export declare function setQuickSwitcherThemes(themes: ResolvedTheme[]): void;
export declare function initAppearance(config?: AppearanceConfig): void;
/**
 * Fetch server-side appearance preferences and apply them locally.
 * Call this after DOMContentLoaded when an auth token is available.
 */
export declare function syncAppearanceFromServer(config?: AppearanceSyncConfig): Promise<void>;
//# sourceMappingURL=index.d.ts.map