import type { ChatMessage as ChatMessageType, SizePreset, ChatCallbacks, PresetTask, WelcomeConfig, AnnouncementConfig, CustomRequestConfig, AssistantConfig, ChatInputCustomTool } from '../../types';
import 'vue-virtual-scroller/dist/vue-virtual-scroller.css';
interface Props {
    url: string;
    appName: string;
    domainName: string;
    size?: SizePreset;
    maxHistoryCount?: number;
    contextHistoryCount?: number;
    enableContext?: boolean;
    enableLocalStorage?: boolean;
    storageKey?: string;
    enableStreaming?: boolean;
    enableImageUpload?: boolean;
    enableMultiImageUpload?: boolean;
    unvalidateHistory?: boolean;
    supportedCustomContext?: boolean;
    disableInput?: boolean;
    customPlaceholder?: string;
    showTaskRunningBox?: boolean;
    taskRunningText?: string;
    enableFullscreenToggle?: boolean;
    showFullscreenButton?: boolean;
    isFullscreenMode?: boolean;
    title?: string;
    showHeader?: boolean;
    showCloseButton?: boolean;
    showClearButton?: boolean;
    showThemeToggle?: boolean;
    showFeedbackButton?: boolean;
    allowHistorySearch?: boolean;
    welcomeConfig?: WelcomeConfig;
    presetTasks?: PresetTask[];
    assistantConfig?: AssistantConfig;
    announcementConfig?: AnnouncementConfig;
    locales?: string | string[];
    options?: Intl.DateTimeFormatOptions;
    customRequestConfig?: CustomRequestConfig;
    maxInputLength?: number;
    enableVoiceInput?: boolean;
    enableDeepThinking?: boolean;
    customTools?: ChatInputCustomTool[];
    enableInsertMessage?: boolean;
    showAvatar?: boolean;
    alignUserMessagesRight?: boolean;
    enableAutoSpeech?: boolean;
    __internalSuspendedBallMode?: boolean;
    callbacks?: ChatCallbacks;
}
type ForceScrollToBottomOptions = {
    onSettled?: (didReachBottom: boolean) => void;
};
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
    size: string;
    maxHistoryCount: number;
    enableContext: boolean;
    enableLocalStorage: boolean;
    storageKey: string;
    enableStreaming: boolean;
    enableImageUpload: boolean;
    enableMultiImageUpload: boolean;
    enableVoiceInput: boolean;
    enableDeepThinking: boolean;
    customTools: () => never[];
    enableInsertMessage: boolean;
    showAvatar: boolean;
    alignUserMessagesRight: boolean;
    enableAutoSpeech: boolean;
    unvalidateHistory: boolean;
    supportedCustomContext: boolean;
    disableInput: boolean;
    customPlaceholder: string;
    showTaskRunningBox: boolean;
    taskRunningText: string;
    title: string;
    showHeader: boolean;
    showCloseButton: boolean;
    showClearButton: boolean;
    showThemeToggle: boolean;
    showFeedbackButton: boolean;
    allowHistorySearch: boolean;
    __internalSuspendedBallMode: boolean;
    locales: string;
    options: () => {
        year: string;
        month: string;
        day: string;
        hour: string;
        minute: string;
    };
}>>, {
    scrollToBottom: () => void;
    forceScrollToBottom: (options?: ForceScrollToBottomOptions | undefined) => void;
    streamingScrollToBottom: () => void;
    handleRequestEnd: (content?: string | undefined) => void;
    handleMermaidInit: (content?: string | undefined) => void;
    getUiHistory: () => {
        role: "user" | "assistant" | "error" | "wait" | "streaming";
        content: string;
        timestamp: number;
        image?: string | undefined;
        images?: string[] | undefined;
        customComponents?: Record<string, any> | undefined;
    }[];
    reloadUiHistory: () => Promise<{
        role: "user" | "assistant" | "error" | "wait" | "streaming";
        content: string;
        timestamp: number;
        image?: string | undefined;
        images?: string[] | undefined;
        customComponents?: Record<string, any> | undefined;
    }[]>;
    setUiHistory: (nextUiHistory: ChatMessageType[]) => void;
    sendMessage: (message: string) => void;
    getChatState: () => {
        isLocked: boolean;
        hasMessages: boolean;
        currentMessageCount: number;
        isStreaming: boolean;
    };
    clearHistory: () => void;
    stopRequest: () => void;
    isStreaming: () => boolean;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    close: () => void;
    toggleFullscreen: () => void;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
    size: string;
    maxHistoryCount: number;
    enableContext: boolean;
    enableLocalStorage: boolean;
    storageKey: string;
    enableStreaming: boolean;
    enableImageUpload: boolean;
    enableMultiImageUpload: boolean;
    enableVoiceInput: boolean;
    enableDeepThinking: boolean;
    customTools: () => never[];
    enableInsertMessage: boolean;
    showAvatar: boolean;
    alignUserMessagesRight: boolean;
    enableAutoSpeech: boolean;
    unvalidateHistory: boolean;
    supportedCustomContext: boolean;
    disableInput: boolean;
    customPlaceholder: string;
    showTaskRunningBox: boolean;
    taskRunningText: string;
    title: string;
    showHeader: boolean;
    showCloseButton: boolean;
    showClearButton: boolean;
    showThemeToggle: boolean;
    showFeedbackButton: boolean;
    allowHistorySearch: boolean;
    __internalSuspendedBallMode: boolean;
    locales: string;
    options: () => {
        year: string;
        month: string;
        day: string;
        hour: string;
        minute: string;
    };
}>>> & Readonly<{
    onClose?: (() => any) | undefined;
    onToggleFullscreen?: (() => any) | undefined;
}>, {
    title: string;
    size: SizePreset;
    showHeader: boolean;
    showCloseButton: boolean;
    showClearButton: boolean;
    showThemeToggle: boolean;
    showFeedbackButton: boolean;
    storageKey: string;
    maxHistoryCount: number;
    enableImageUpload: boolean;
    enableMultiImageUpload: boolean;
    enableVoiceInput: boolean;
    enableDeepThinking: boolean;
    customTools: ChatInputCustomTool[];
    supportedCustomContext: boolean;
    disableInput: boolean;
    customPlaceholder: string;
    options: Intl.DateTimeFormatOptions;
    locales: string | string[];
    enableInsertMessage: boolean;
    showAvatar: boolean;
    alignUserMessagesRight: boolean;
    unvalidateHistory: boolean;
    enableStreaming: boolean;
    enableContext: boolean;
    enableLocalStorage: boolean;
    showTaskRunningBox: boolean;
    taskRunningText: string;
    allowHistorySearch: boolean;
    enableAutoSpeech: boolean;
    __internalSuspendedBallMode: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
type __VLS_TypePropsToRuntimeProps<T> = {
    [K in keyof T]-?: {} extends Pick<T, K> ? {
        type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
    } : {
        type: import('vue').PropType<T[K]>;
        required: true;
    };
};
type __VLS_WithDefaults<P, D> = {
    [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
        default: D[K];
    }> : P[K];
};
type __VLS_Prettify<T> = {
    [K in keyof T]: T[K];
} & {};
//# sourceMappingURL=ChatPanel.vue.d.ts.map