import { CSSProperties, PropType, StyleValue } from 'vue';
import { CodeHighlighterProps, CodeHighlighterSemanticType } from './interface';
export declare const XCodeHighlighter: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    prefixCls: {
        type: StringConstructor;
        default: string;
    };
    content: {
        type: StringConstructor;
        required: true;
    };
    language: {
        type: StringConstructor;
        default: string;
    };
    showLineNumbers: {
        type: BooleanConstructor;
        default: boolean;
    };
    showLanguage: {
        type: BooleanConstructor;
        default: boolean;
    };
    showThemeToggle: {
        type: BooleanConstructor;
        default: boolean;
    };
    showCopyButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    theme: {
        type: PropType<"light" | "dark">;
        default: string;
    };
    startLineNumber: {
        type: NumberConstructor;
        default: number;
    };
    styles: {
        type: PropType<Partial<Record<CodeHighlighterSemanticType, CSSProperties>>>;
        default: () => {};
    };
    classes: {
        type: PropType<Partial<Record<CodeHighlighterSemanticType, string>>>;
        default: () => {};
    };
    onCopy: {
        type: PropType<CodeHighlighterProps["onCopy"]>;
        default: undefined;
    };
    rootClass: {
        type: StringConstructor;
        default: string;
    };
    class: {
        type: PropType<CodeHighlighterProps["class"]>;
        default: undefined;
    };
    style: {
        type: PropType<StyleValue>;
        default: undefined;
    };
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "update:theme"[], "update:theme", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    prefixCls: {
        type: StringConstructor;
        default: string;
    };
    content: {
        type: StringConstructor;
        required: true;
    };
    language: {
        type: StringConstructor;
        default: string;
    };
    showLineNumbers: {
        type: BooleanConstructor;
        default: boolean;
    };
    showLanguage: {
        type: BooleanConstructor;
        default: boolean;
    };
    showThemeToggle: {
        type: BooleanConstructor;
        default: boolean;
    };
    showCopyButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    theme: {
        type: PropType<"light" | "dark">;
        default: string;
    };
    startLineNumber: {
        type: NumberConstructor;
        default: number;
    };
    styles: {
        type: PropType<Partial<Record<CodeHighlighterSemanticType, CSSProperties>>>;
        default: () => {};
    };
    classes: {
        type: PropType<Partial<Record<CodeHighlighterSemanticType, string>>>;
        default: () => {};
    };
    onCopy: {
        type: PropType<CodeHighlighterProps["onCopy"]>;
        default: undefined;
    };
    rootClass: {
        type: StringConstructor;
        default: string;
    };
    class: {
        type: PropType<CodeHighlighterProps["class"]>;
        default: undefined;
    };
    style: {
        type: PropType<StyleValue>;
        default: undefined;
    };
}>> & Readonly<{
    "onUpdate:theme"?: ((...args: any[]) => any) | undefined;
}>, {
    theme: "dark" | "light";
    prefixCls: string;
    style: StyleValue;
    rootClass: string;
    class: import('vue').ClassValue;
    classes: Partial<Record<CodeHighlighterSemanticType, string>>;
    styles: Partial<Record<CodeHighlighterSemanticType, CSSProperties>>;
    onCopy: ((content: string) => void) | undefined;
    language: string;
    showLineNumbers: boolean;
    showLanguage: boolean;
    showThemeToggle: boolean;
    showCopyButton: boolean;
    startLineNumber: number;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default XCodeHighlighter;
