import { ComponentInitData, ComponentInstance, Formatter, RenderMode, Slot, SlotRender, VElement, VTextNode } from '@textbus/core';
import { ComponentLoader } from '@textbus/platform-browser';
import 'prismjs/components/prism-typescript';
import 'prismjs/components/prism-java';
import 'prismjs/components/prism-powershell';
import 'prismjs/components/prism-swift';
import 'prismjs/components/prism-json';
import 'prismjs/components/prism-css';
import 'prismjs/components/prism-less';
import 'prismjs/components/prism-scss';
import 'prismjs/components/prism-stylus';
import 'prismjs/components/prism-c';
import 'prismjs/components/prism-cpp';
import 'prismjs/components/prism-csharp';
import 'prismjs/components/prism-go';
import 'prismjs/components/prism-jsx';
import 'prismjs/components/prism-tsx';
export declare const codeStyles: {
    keyword: string;
    string: string;
    function: string;
    number: string;
    tag: string;
    comment: string;
    boolean: string;
    operator: boolean;
    builtin: string;
    punctuation: boolean;
    regex: string;
    selector: string;
    property: string;
    'class-name': string;
    'attr-name': string;
    'attr-value': string;
    'template-punctuation': string;
};
export declare const languageList: Array<{
    label: string;
    value: string;
}>;
export interface PreComponentState {
    lang: string;
    theme?: string;
    lineNumber?: boolean;
}
export declare class CodeStyleFormatter implements Formatter<string> {
    priority: number;
    name: string;
    columned: boolean;
    render(children: Array<VElement | VTextNode>, formatValue: string): VElement;
}
export declare const codeStyleFormatter: CodeStyleFormatter;
export interface CodeSlotState {
    blockCommentEnd: boolean;
    blockCommentStart: boolean;
    emphasize: boolean;
}
export declare function createCodeSlot(): Slot<CodeSlotState>;
export declare const preComponent: import("@textbus/core").Component<ComponentInstance<{
    render(slotRender: SlotRender, renderMode: RenderMode): VElement;
}, PreComponentState, CodeSlotState>, ComponentInitData<PreComponentState, CodeSlotState>>;
export declare const preComponentLoader: ComponentLoader;
