import { PropType } from "vue";
import { Command, CommandFormatterFunc, CommandSortHandlerFunc, DragConfig, EditorSetting, InputFilterFunc, InputTipsSearchHandlerFunc, InputTipsSelectHandlerFunc, Message, MessageGroup, Position, PushMessageBeforeFunc, TerminalCursorStyle, TerminalElementInfo } from "./types";
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    title: {
        type: StringConstructor;
        default: string;
    };
    name: {
        type: StringConstructor;
        default: string;
    };
    initLog: {
        type: {
            (arrayLength: number): Message[];
            (...items: Message[]): Message[];
            new (arrayLength: number): Message[];
            new (...items: Message[]): Message[];
            isArray(arg: any): arg is any[];
            readonly prototype: any[];
            from<T>(arrayLike: ArrayLike<T>): T[];
            from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
            from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
            from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
            of<T_4>(...items: T_4[]): T_4[];
            readonly [Symbol.species]: ArrayConstructor;
        };
        default: () => Message[];
    };
    context: {
        type: StringConstructor;
        default: string;
    };
    contextSuffix: {
        type: StringConstructor;
        default: string;
    };
    commandStore: {
        (arrayLength: number): Command[];
        (...items: Command[]): Command[];
        new (arrayLength: number): Command[];
        new (...items: Command[]): Command[];
        isArray(arg: any): arg is any[];
        readonly prototype: any[];
        from<T>(arrayLike: ArrayLike<T>): T[];
        from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
        from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
        from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
        of<T_4>(...items: T_4[]): T_4[];
        readonly [Symbol.species]: ArrayConstructor;
    };
    commandSortHandler: PropType<CommandSortHandlerFunc>;
    showHeader: {
        type: BooleanConstructor;
        default: boolean;
    };
    enableHelpBox: {
        type: BooleanConstructor;
        default: boolean;
    };
    inputFilter: PropType<InputFilterFunc>;
    dragConf: PropType<DragConfig>;
    commandFormatter: PropType<CommandFormatterFunc>;
    scrollMode: {
        type: PropType<ScrollBehavior>;
        default: string;
    };
    pushMessageBefore: PropType<PushMessageBeforeFunc>;
    logSizeLimit: {
        type: NumberConstructor;
        default: number;
    };
    enableDefaultCommand: {
        type: BooleanConstructor;
        default: boolean;
    };
    lineSpace: {
        type: NumberConstructor;
        default: number;
    };
    cursorStyle: {
        type: PropType<TerminalCursorStyle>;
        default: () => string;
    };
    enableCursorBlink: {
        type: BooleanConstructor;
        default: () => boolean;
    };
    enableFold: {
        type: BooleanConstructor;
        default: () => boolean;
    };
    enableHoverStripe: {
        type: BooleanConstructor;
        default: () => boolean;
    };
    enableInputTips: {
        type: BooleanConstructor;
        default: () => boolean;
    };
    inputTipsSelectHandler: PropType<InputTipsSelectHandlerFunc>;
    inputTipsSearchHandler: PropType<InputTipsSearchHandlerFunc>;
    theme: {
        type: StringConstructor;
        default: () => string;
    };
}>, {
    pushMessage: (message: string | Message | Message[]) => void;
    appendMessage: (message: string) => void;
    fullscreen: () => void;
    isFullscreen: () => boolean;
    dragging: (pos: Position) => void;
    execute: (cmd: string) => any;
    focus: (enforceFocus?: boolean | MouseEvent) => void;
    elementInfo: () => TerminalElementInfo;
    textEditorOpen: (options?: EditorSetting) => void;
    textEditorClose: (options: any) => string;
    clearLog: (clearHistory: boolean) => void;
    getCommand: () => string;
    setCommand: (cmd: string) => void;
    switchAllFoldState: (fold: boolean) => number;
    jumpToBottom: (enforce?: boolean) => void;
    getOutputs: () => MessageGroup[];
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "on-click": (...args: any[]) => void;
    "on-keydown": (...args: any[]) => void;
    "before-exec-cmd": (...args: any[]) => void;
    "exec-cmd": (...args: any[]) => void;
    destroyed: (...args: any[]) => void;
    "init-before": (...args: any[]) => void;
    "init-complete": (...args: any[]) => void;
    "on-active": (...args: any[]) => void;
    "on-inactive": (...args: any[]) => void;
    "on-resize": (...args: any[]) => void;
    "on-dragging": (...args: any[]) => void;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    title: {
        type: StringConstructor;
        default: string;
    };
    name: {
        type: StringConstructor;
        default: string;
    };
    initLog: {
        type: {
            (arrayLength: number): Message[];
            (...items: Message[]): Message[];
            new (arrayLength: number): Message[];
            new (...items: Message[]): Message[];
            isArray(arg: any): arg is any[];
            readonly prototype: any[];
            from<T>(arrayLike: ArrayLike<T>): T[];
            from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
            from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
            from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
            of<T_4>(...items: T_4[]): T_4[];
            readonly [Symbol.species]: ArrayConstructor;
        };
        default: () => Message[];
    };
    context: {
        type: StringConstructor;
        default: string;
    };
    contextSuffix: {
        type: StringConstructor;
        default: string;
    };
    commandStore: {
        (arrayLength: number): Command[];
        (...items: Command[]): Command[];
        new (arrayLength: number): Command[];
        new (...items: Command[]): Command[];
        isArray(arg: any): arg is any[];
        readonly prototype: any[];
        from<T>(arrayLike: ArrayLike<T>): T[];
        from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
        from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
        from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
        of<T_4>(...items: T_4[]): T_4[];
        readonly [Symbol.species]: ArrayConstructor;
    };
    commandSortHandler: PropType<CommandSortHandlerFunc>;
    showHeader: {
        type: BooleanConstructor;
        default: boolean;
    };
    enableHelpBox: {
        type: BooleanConstructor;
        default: boolean;
    };
    inputFilter: PropType<InputFilterFunc>;
    dragConf: PropType<DragConfig>;
    commandFormatter: PropType<CommandFormatterFunc>;
    scrollMode: {
        type: PropType<ScrollBehavior>;
        default: string;
    };
    pushMessageBefore: PropType<PushMessageBeforeFunc>;
    logSizeLimit: {
        type: NumberConstructor;
        default: number;
    };
    enableDefaultCommand: {
        type: BooleanConstructor;
        default: boolean;
    };
    lineSpace: {
        type: NumberConstructor;
        default: number;
    };
    cursorStyle: {
        type: PropType<TerminalCursorStyle>;
        default: () => string;
    };
    enableCursorBlink: {
        type: BooleanConstructor;
        default: () => boolean;
    };
    enableFold: {
        type: BooleanConstructor;
        default: () => boolean;
    };
    enableHoverStripe: {
        type: BooleanConstructor;
        default: () => boolean;
    };
    enableInputTips: {
        type: BooleanConstructor;
        default: () => boolean;
    };
    inputTipsSelectHandler: PropType<InputTipsSelectHandlerFunc>;
    inputTipsSearchHandler: PropType<InputTipsSearchHandlerFunc>;
    theme: {
        type: StringConstructor;
        default: () => string;
    };
}>> & Readonly<{
    "onOn-click"?: (...args: any[]) => any;
    "onOn-keydown"?: (...args: any[]) => any;
    "onBefore-exec-cmd"?: (...args: any[]) => any;
    "onExec-cmd"?: (...args: any[]) => any;
    onDestroyed?: (...args: any[]) => any;
    "onInit-before"?: (...args: any[]) => any;
    "onInit-complete"?: (...args: any[]) => any;
    "onOn-active"?: (...args: any[]) => any;
    "onOn-inactive"?: (...args: any[]) => any;
    "onOn-resize"?: (...args: any[]) => any;
    "onOn-dragging"?: (...args: any[]) => any;
}>, {
    title: string;
    name: string;
    initLog: Message[];
    context: string;
    contextSuffix: string;
    showHeader: boolean;
    enableHelpBox: boolean;
    scrollMode: ScrollBehavior;
    logSizeLimit: number;
    enableDefaultCommand: boolean;
    lineSpace: number;
    cursorStyle: TerminalCursorStyle;
    enableCursorBlink: boolean;
    enableFold: boolean;
    enableHoverStripe: boolean;
    enableInputTips: boolean;
    theme: string;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
    header?(_: {}): any;
    folder?(_: {
        group: {
            fold: boolean;
            logs: {
                type?: import("./types").TerminalMessageType;
                content: string | number | object | any[] | {
                    head: string[];
                    rows: string[][];
                };
                class?: import("./types").TerminalMessageClass;
                tag?: string;
                depth?: number;
            }[];
            tag?: string;
        };
    }): any;
    cmdLine?(_: {
        item: {
            type?: import("./types").TerminalMessageType;
            content: string | number | object | any[] | {
                head: string[];
                rows: string[][];
            };
            class?: import("./types").TerminalMessageClass;
            tag?: string;
            depth?: number;
        };
    }): any;
    normal?(_: {
        message: {
            type?: import("./types").TerminalMessageType;
            content: string | number | object | any[] | {
                head: string[];
                rows: string[][];
            };
            class?: import("./types").TerminalMessageClass;
            tag?: string;
            depth?: number;
        };
    }): any;
    json?(_: {
        message: {
            type?: import("./types").TerminalMessageType;
            content: string | number | object | any[] | {
                head: string[];
                rows: string[][];
            };
            class?: import("./types").TerminalMessageClass;
            tag?: string;
            depth?: number;
        };
    }): any;
    code?(_: {
        message: {
            type?: import("./types").TerminalMessageType;
            content: string | number | object | any[] | {
                head: string[];
                rows: string[][];
            };
            class?: import("./types").TerminalMessageClass;
            tag?: string;
            depth?: number;
        };
    }): any;
    table?(_: {
        message: {
            type?: import("./types").TerminalMessageType;
            content: string | number | object | any[] | {
                head: string[];
                rows: string[][];
            };
            class?: import("./types").TerminalMessageClass;
            tag?: string;
            depth?: number;
        };
    }): any;
    html?(_: {
        message: {
            type?: import("./types").TerminalMessageType;
            content: string | number | object | any[] | {
                head: string[];
                rows: string[][];
            };
            class?: import("./types").TerminalMessageClass;
            tag?: string;
            depth?: number;
        };
    }): any;
    flash?(_: {
        content: any;
    }): any;
    helpBox?(_: {
        showHeader: boolean;
        item: Command;
    }): any;
    textEditor?(_: {
        data: {
            open: boolean;
            focus: boolean;
            value: string;
            onClose: Function;
            onFocus?: Function;
            onBlur?: Function;
        };
    }): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
