import type { ExtractPropTypes } from 'vue';
export type Theme = 'vs' | 'hc-black' | 'vs-dark' | 'AtlanticNight' | 'AtomOneDark' | 'AuroraX' | 'AyuDark' | 'AyuLight' | 'BlulocoLight' | 'CodeSandBox' | 'Darktooth' | 'Dracula' | 'EvaLight' | 'FlatUI' | 'Hopscotch' | 'HorlaLightTheme' | 'HybridNext' | 'KimbieDark' | 'Lucario' | 'MonokaiDimmed' | 'MonokaiPro' | 'Nebula' | 'NoctisAzureus' | 'NoctisBordo' | 'NoctisLux' | 'OneDarkPro' | 'OneMonokai' | 'Panda' | 'RemedyDark' | 'ReUI' | 'ShadesOfPurple' | 'SnazzyLight' | 'SnazzyOperator' | 'SublimeMaterialThemeDark' | 'SynthWave84' | 'TokyoNightStorm' | 'TomorrowNightBlue' | 'Twilight';
export type FoldingStrategy = 'auto' | 'indentation';
export type RenderLineHighlight = 'all' | 'line' | 'none' | 'gutter';
export type Language = 'javascript' | 'typescript' | 'html' | 'css' | 'json';
import type CodeEditor from '../code-editor.vue';
export interface Options {
    automaticLayout?: boolean;
    foldingStrategy?: FoldingStrategy;
    renderLineHighlight?: RenderLineHighlight;
    selectOnLineNumbers?: boolean;
    minimap?: {
        enabled: boolean;
    };
    readOnly?: boolean;
    fontSize?: number;
    scrollBeyondLastLine?: boolean;
    overviewRulerBorder?: boolean;
}
export declare const defaultOptions: Options;
export declare const codeEditorProps: {
    readonly value: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
    readonly disabled: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, () => false, boolean>;
    readonly width: import("ll-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "100%", boolean>;
    readonly height: import("ll-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "100%", boolean>;
    readonly language: import("ll-plus/es/utils").EpPropFinalized<import("vue").PropType<Language>, unknown, unknown, "javascript", boolean>;
    readonly theme: import("ll-plus/es/utils").EpPropFinalized<import("vue").PropType<Theme>, unknown, unknown, "vs", boolean>;
    readonly options: import("ll-plus/es/utils").EpPropFinalized<import("vue").PropType<Options>, unknown, unknown, () => Options, boolean>;
};
export declare const codeEditorEmits: {
    'update:value': (value: string) => boolean;
    change: (value: string) => boolean;
    'editor-mounted': (editor: any) => boolean;
};
export type CodeEditorProps = ExtractPropTypes<typeof codeEditorProps>;
export type CodeEditorEmits = typeof codeEditorEmits;
export type CodeEditorInstance = InstanceType<typeof CodeEditor>;
