import { ExtractPropTypes } from 'vue';
import { ElementType } from '../shared';
declare const diffFormats: readonly ["side-by-side", "line-by-line"];
export type DiffFormatType = ElementType<typeof diffFormats>;
export declare const LANGUAGES: readonly ["css", "java", "javascript", "json", "scss", "less", "stylus", "shell", "bash", "cpp", "go", "xml", "python", "typescript", "sql", "ruby", "vim", "php", "perl", "powershell", "makefile"];
export type LanguagesUnion = ElementType<typeof LANGUAGES>;
declare const themes: readonly ["dark", "light"];
export type ThemesUnion = ElementType<typeof themes>;
export declare const codeDiffProps: {
    oldContent: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
        default: string;
    };
    newContent: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
        default: string;
    };
    diffFormat: import("vue-types").VueTypeValidableDef<"side-by-side" | "line-by-line", import("vue-types/dist/shared/vue-types.d8e57a80").b<"side-by-side" | "line-by-line">> & {
        default: "side-by-side" | "line-by-line";
    };
    diffContext: import("vue-types").VueTypeValidableDef<number, import("vue-types/dist/shared/vue-types.d8e57a80").b<number>>;
    theme: import("vue-types").VueTypeValidableDef<"dark" | "light", import("vue-types/dist/shared/vue-types.d8e57a80").b<"dark" | "light">> & {
        default: "dark" | "light";
    };
    language: import("vue-types").VueTypeValidableDef<"ruby" | "go" | "css" | "java" | "javascript" | "json" | "scss" | "less" | "stylus" | "shell" | "bash" | "cpp" | "xml" | "python" | "typescript" | "sql" | "vim" | "php" | "perl" | "powershell" | "makefile", import("vue-types/dist/shared/vue-types.d8e57a80").b<"ruby" | "go" | "css" | "java" | "javascript" | "json" | "scss" | "less" | "stylus" | "shell" | "bash" | "cpp" | "xml" | "python" | "typescript" | "sql" | "vim" | "php" | "perl" | "powershell" | "makefile">> & {
        default: "ruby" | "go" | "css" | "java" | "javascript" | "json" | "scss" | "less" | "stylus" | "shell" | "bash" | "cpp" | "xml" | "python" | "typescript" | "sql" | "vim" | "php" | "perl" | "powershell" | "makefile";
    };
    hljs: import("vue-types").VueTypeValidableDef<any, import("vue-types/dist/shared/vue-types.d8e57a80").b<any>> & {
        required: true;
    };
};
export type CodeDiffPropsType = ExtractPropTypes<typeof codeDiffProps>;
declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
    oldContent: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
        default: string;
    };
    newContent: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
        default: string;
    };
    diffFormat: import("vue-types").VueTypeValidableDef<"side-by-side" | "line-by-line", import("vue-types/dist/shared/vue-types.d8e57a80").b<"side-by-side" | "line-by-line">> & {
        default: "side-by-side" | "line-by-line";
    };
    diffContext: import("vue-types").VueTypeValidableDef<number, import("vue-types/dist/shared/vue-types.d8e57a80").b<number>>;
    theme: import("vue-types").VueTypeValidableDef<"dark" | "light", import("vue-types/dist/shared/vue-types.d8e57a80").b<"dark" | "light">> & {
        default: "dark" | "light";
    };
    language: import("vue-types").VueTypeValidableDef<"ruby" | "go" | "css" | "java" | "javascript" | "json" | "scss" | "less" | "stylus" | "shell" | "bash" | "cpp" | "xml" | "python" | "typescript" | "sql" | "vim" | "php" | "perl" | "powershell" | "makefile", import("vue-types/dist/shared/vue-types.d8e57a80").b<"ruby" | "go" | "css" | "java" | "javascript" | "json" | "scss" | "less" | "stylus" | "shell" | "bash" | "cpp" | "xml" | "python" | "typescript" | "sql" | "vim" | "php" | "perl" | "powershell" | "makefile">> & {
        default: "ruby" | "go" | "css" | "java" | "javascript" | "json" | "scss" | "less" | "stylus" | "shell" | "bash" | "cpp" | "xml" | "python" | "typescript" | "sql" | "vim" | "php" | "perl" | "powershell" | "makefile";
    };
    hljs: import("vue-types").VueTypeValidableDef<any, import("vue-types/dist/shared/vue-types.d8e57a80").b<any>> & {
        required: true;
    };
}>, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, any[], any, import("vue").PublicProps, Readonly<ExtractPropTypes<{
    oldContent: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
        default: string;
    };
    newContent: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
        default: string;
    };
    diffFormat: import("vue-types").VueTypeValidableDef<"side-by-side" | "line-by-line", import("vue-types/dist/shared/vue-types.d8e57a80").b<"side-by-side" | "line-by-line">> & {
        default: "side-by-side" | "line-by-line";
    };
    diffContext: import("vue-types").VueTypeValidableDef<number, import("vue-types/dist/shared/vue-types.d8e57a80").b<number>>;
    theme: import("vue-types").VueTypeValidableDef<"dark" | "light", import("vue-types/dist/shared/vue-types.d8e57a80").b<"dark" | "light">> & {
        default: "dark" | "light";
    };
    language: import("vue-types").VueTypeValidableDef<"ruby" | "go" | "css" | "java" | "javascript" | "json" | "scss" | "less" | "stylus" | "shell" | "bash" | "cpp" | "xml" | "python" | "typescript" | "sql" | "vim" | "php" | "perl" | "powershell" | "makefile", import("vue-types/dist/shared/vue-types.d8e57a80").b<"ruby" | "go" | "css" | "java" | "javascript" | "json" | "scss" | "less" | "stylus" | "shell" | "bash" | "cpp" | "xml" | "python" | "typescript" | "sql" | "vim" | "php" | "perl" | "powershell" | "makefile">> & {
        default: "ruby" | "go" | "css" | "java" | "javascript" | "json" | "scss" | "less" | "stylus" | "shell" | "bash" | "cpp" | "xml" | "python" | "typescript" | "sql" | "vim" | "php" | "perl" | "powershell" | "makefile";
    };
    hljs: import("vue-types").VueTypeValidableDef<any, import("vue-types/dist/shared/vue-types.d8e57a80").b<any>> & {
        required: true;
    };
}>> & Readonly<{
    [x: `on${Capitalize<any>}`]: (...args: any[]) => any;
}>, {
    theme: "dark" | "light";
    oldContent: string;
    newContent: string;
    diffFormat: "side-by-side" | "line-by-line";
    language: "ruby" | "go" | "css" | "java" | "javascript" | "json" | "scss" | "less" | "stylus" | "shell" | "bash" | "cpp" | "xml" | "python" | "typescript" | "sql" | "vim" | "php" | "perl" | "powershell" | "makefile";
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
