import { CodeDemoOptions } from "vuepress-plugin-md-enhance";
import { FunctionComponent } from "react";
export declare const option: import("../../types").CodeDemoGlobalOptions;
export declare const h: (tag: string, attrs: Record<string, string>, children?: HTMLElement[] | undefined) => HTMLElement;
interface VueScript {
    (): unknown;
    template: string;
}
export interface CodeType {
    html: [code: string, type: string] | [];
    js: [code: string, type: string] | [];
    css: [code: string, type: string] | [];
    isLegal: boolean;
}
export declare const getCode: (code: Record<string, string>) => CodeType;
export interface Code {
    html: string;
    js: string;
    css: string;
    jsLib: string[];
    cssLib: string[];
}
export interface NormalCode extends Code {
    script?: () => unknown;
}
export declare const getNormalCode: (code: CodeType, config: Partial<CodeDemoOptions>) => NormalCode;
export interface VueCode extends Code {
    script?: VueScript;
}
export declare const getVueCode: (code: CodeType, config: Partial<CodeDemoOptions>) => VueCode;
export interface ReactCode extends Code {
    script?: FunctionComponent;
}
export declare const getReactCode: (code: CodeType, config: Partial<CodeDemoOptions>) => ReactCode;
export interface CodepenCode extends Code {
    preprocessor: {
        html: "none" | "slim" | "haml" | "markdown";
        js: "none" | "coffeescript" | "babel" | "livescript" | "typescript";
        css: "none" | "less" | "scss" | "sass" | "stylus";
    };
}
export declare const injectCSS: (css: string, id: string) => void;
export {};
