import { Extension, Compartment } from '@codemirror/state';
import { EditorView } from '@codemirror/view';
import { DiffThemeColors } from '../types';
/** Compartment for dynamic theme switching */
export declare const themeCompartment: Compartment;
/** Default light theme colors */
declare const lightColors: Required<DiffThemeColors>;
/** Default dark theme colors */
declare const darkColors: Required<DiffThemeColors>;
/** Light theme extension */
export declare const diffThemeLight: Extension;
/** Dark theme extension */
export declare const diffThemeDark: Extension;
/** Create diff theme extension with optional color overrides */
export declare function diffTheme(options?: {
    dark?: boolean;
    colors?: Partial<DiffThemeColors>;
}): Extension;
/** Detect if the current view is using dark mode */
export declare function detectDarkMode(view: EditorView): boolean;
/** Theme manager for runtime theme switching */
export declare class DiffThemeManager {
    private currentTheme;
    private compartment;
    /** Get extensions for initial setup */
    getExtensions(baseTheme?: Extension, diffColors?: Partial<DiffThemeColors>, dark?: boolean): Extension[];
    /** Update diff theme at runtime */
    setDiffTheme(view: EditorView, options: {
        dark?: boolean;
        colors?: Partial<DiffThemeColors>;
    }): void;
}
export { lightColors, darkColors };
