import { SessionBusinessManager } from '../manager/business/session-business-manager';
import { ShareBusinessManager } from '../manager/business/share-business-manager';
import { ShortcutManager } from '../manager/business/shortcut-manager';
import { createEventForwarders } from './use-event-bridge';
import type { DraggableContainerExpose } from '../containers';
import type { AIBluekingProps, IShortcut } from '../types';
import type { UseEventBridgeReturn } from './use-event-bridge';
import type { IAiSlashMenuItem } from '@blueking/chat-x';
export type EventForwarders = ReturnType<typeof createEventForwarders>;
export type ForwardToManagerFn = UseEventBridgeReturn['forwardToManager'];
export interface UseAiBluekingInitParams {
    props: AIBluekingProps;
    emit: (event: string, ...args: unknown[]) => void;
}
export declare function useAiBluekingInit(params: UseAiBluekingInitParams): {
    chatHelper: import("../types").IChatHelper;
    componentManager: import("../manager").ComponentManager;
    sessionBusinessManager: SessionBusinessManager;
    shareBusinessManager: ShareBusinessManager;
    shortcutManager: ShortcutManager;
    forwarders: {
        sendMessage: (content: string) => void;
        receiveStart: () => void;
        receiveText: () => void;
        receiveEnd: () => void;
        stop: () => void;
        newChat: () => void;
        newChatCreated: (session: {
            sessionCode: string;
            sessionName?: string;
            createdAt?: string;
        }) => void;
        historyClick: (event: Event) => void;
        autoGenerateName: () => void;
        helpClick: () => void;
        rename: (newName: string) => void;
        share: () => void;
        transferMessages: (messageIds: string[]) => void;
        shareMessages: (messageIds: string[]) => void;
    };
    forwardToManager: <T extends import("../manager").InternalEvent>(event: T, data: import("../manager").InternalEventData[T]) => void;
    chatBotRef: import("vue").Ref<({
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: {
            readonly autoLoad?: boolean | undefined;
            readonly alwaysCreateNewSession?: boolean | undefined;
            readonly chatHelper?: import("../types").IChatHelper | undefined;
            readonly enableSelection?: boolean | undefined;
            readonly renderMode?: import("@blueking/chat-x").RenderMode | undefined;
            readonly extCls?: string | undefined;
            readonly height?: number | string | undefined;
            readonly helloText?: string | undefined;
            readonly maxWidth?: number | string | undefined;
            readonly messageToolsTippyOptions?: import("../components/types.ts").MessageToolsTippyOptions | undefined;
            readonly placeholder?: string | undefined;
            readonly prompts?: string[] | undefined;
            readonly requestOptions?: import("../index.ts").IRequestOptions | undefined;
            readonly resources?: IAiSlashMenuItem[] | undefined;
            readonly sessionCode?: string | undefined;
            readonly shareLoading?: boolean | undefined;
            readonly shortcuts?: IShortcut[] | undefined;
            readonly url?: string | undefined;
            readonly placement?: "left" | "right" | undefined;
            readonly resizeProps?: {
                disabled?: boolean;
                initialDivide?: number | string;
                max?: number;
                min?: number;
            } | undefined;
            readonly onError?: ((error: Error) => any) | undefined;
            readonly onStop?: (() => any) | undefined;
            readonly "onSend-message"?: ((message: string) => any) | undefined;
            readonly "onReceive-start"?: (() => any) | undefined;
            readonly "onReceive-text"?: (() => any) | undefined;
            readonly "onReceive-end"?: (() => any) | undefined;
            readonly "onShortcut-click"?: ((data: {
                shortcut: IShortcut;
                source: "main" | "popup";
            }) => any) | undefined;
            readonly "onSession-switched"?: ((session: import("@blueking/chat-helper").ISession<unknown, unknown> | null) => any) | undefined;
            readonly "onAgent-info-loaded"?: ((chatHelper: import("../types").IChatHelper) => any) | undefined;
            readonly "onConfirm-share"?: ((messages: import("@blueking/chat-x").Message[]) => any) | undefined;
            readonly onFeedback?: ((tool: import("@blueking/chat-x").IToolBtn, message: import("@blueking/chat-x").Message, reasonList: string[], otherReason: string) => any) | undefined;
            readonly "onCancel-share"?: (() => any) | undefined;
            readonly "onExecution-panel-change"?: ((isCollapse: boolean) => any) | undefined;
            readonly "onRequest-share"?: (() => any) | undefined;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
        $attrs: import("vue").Attrs;
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot<any> | undefined;
        }>;
        $root: import("vue").ComponentPublicInstance | null;
        $parent: import("vue").ComponentPublicInstance | null;
        $host: Element | null;
        $emit: ((event: "error", error: Error) => void) & ((event: "stop") => void) & ((event: "send-message", message: string) => void) & ((event: "receive-start") => void) & ((event: "receive-text") => void) & ((event: "receive-end") => void) & ((event: "shortcut-click", data: {
            shortcut: IShortcut;
            source: "main" | "popup";
        }) => void) & ((event: "session-switched", session: import("@blueking/chat-helper").ISession<unknown, unknown> | null) => void) & ((event: "agent-info-loaded", chatHelper: import("../types").IChatHelper) => void) & ((event: "confirm-share", messages: import("@blueking/chat-x").Message[]) => void) & ((event: "feedback", tool: import("@blueking/chat-x").IToolBtn, message: import("@blueking/chat-x").Message, reasonList: string[], otherReason: string) => void) & ((event: "cancel-share") => void) & ((event: "execution-panel-change", isCollapse: boolean) => void) & ((event: "request-share") => void);
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<import("../index.ts").ChatBotProps> & Readonly<{
            onError?: ((error: Error) => any) | undefined;
            onStop?: (() => any) | undefined;
            "onSend-message"?: ((message: string) => any) | undefined;
            "onReceive-start"?: (() => any) | undefined;
            "onReceive-text"?: (() => any) | undefined;
            "onReceive-end"?: (() => any) | undefined;
            "onShortcut-click"?: ((data: {
                shortcut: IShortcut;
                source: "main" | "popup";
            }) => any) | undefined;
            "onSession-switched"?: ((session: import("@blueking/chat-helper").ISession<unknown, unknown> | null) => any) | undefined;
            "onAgent-info-loaded"?: ((chatHelper: import("../types").IChatHelper) => any) | undefined;
            "onConfirm-share"?: ((messages: import("@blueking/chat-x").Message[]) => any) | undefined;
            onFeedback?: ((tool: import("@blueking/chat-x").IToolBtn, message: import("@blueking/chat-x").Message, reasonList: string[], otherReason: string) => any) | undefined;
            "onCancel-share"?: (() => any) | undefined;
            "onExecution-panel-change"?: ((isCollapse: boolean) => any) | undefined;
            "onRequest-share"?: (() => any) | undefined;
        }>, import("../index.ts").ChatBotExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
            error: (error: Error) => any;
            stop: () => any;
            "send-message": (message: string) => any;
            "receive-start": () => any;
            "receive-text": () => any;
            "receive-end": () => any;
            "shortcut-click": (data: {
                shortcut: IShortcut;
                source: "main" | "popup";
            }) => any;
            "session-switched": (session: import("@blueking/chat-helper").ISession<unknown, unknown> | null) => any;
            "agent-info-loaded": (chatHelper: import("../types").IChatHelper) => any;
            "confirm-share": (messages: import("@blueking/chat-x").Message[]) => any;
            feedback: (tool: import("@blueking/chat-x").IToolBtn, message: import("@blueking/chat-x").Message, reasonList: string[], otherReason: string) => any;
            "cancel-share": () => any;
            "execution-panel-change": (isCollapse: boolean) => any;
            "request-share": () => any;
        }, string, {
            placement: "left" | "right";
            resources: IAiSlashMenuItem[];
            renderMode: import("@blueking/chat-x").RenderMode;
            chatHelper: import("../types").IChatHelper;
            url: string;
            autoLoad: boolean;
            enableSelection: boolean;
            shareLoading: boolean;
            shortcuts: IShortcut[];
        }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof import("vue").nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
    } & Readonly<{
        placement: "left" | "right";
        resources: IAiSlashMenuItem[];
        renderMode: import("@blueking/chat-x").RenderMode;
        chatHelper: import("../types").IChatHelper;
        url: string;
        autoLoad: boolean;
        enableSelection: boolean;
        shareLoading: boolean;
        shortcuts: IShortcut[];
    }> & Omit<Readonly<import("../index.ts").ChatBotProps> & Readonly<{
        onError?: ((error: Error) => any) | undefined;
        onStop?: (() => any) | undefined;
        "onSend-message"?: ((message: string) => any) | undefined;
        "onReceive-start"?: (() => any) | undefined;
        "onReceive-text"?: (() => any) | undefined;
        "onReceive-end"?: (() => any) | undefined;
        "onShortcut-click"?: ((data: {
            shortcut: IShortcut;
            source: "main" | "popup";
        }) => any) | undefined;
        "onSession-switched"?: ((session: import("@blueking/chat-helper").ISession<unknown, unknown> | null) => any) | undefined;
        "onAgent-info-loaded"?: ((chatHelper: import("../types").IChatHelper) => any) | undefined;
        "onConfirm-share"?: ((messages: import("@blueking/chat-x").Message[]) => any) | undefined;
        onFeedback?: ((tool: import("@blueking/chat-x").IToolBtn, message: import("@blueking/chat-x").Message, reasonList: string[], otherReason: string) => any) | undefined;
        "onCancel-share"?: (() => any) | undefined;
        "onExecution-panel-change"?: ((isCollapse: boolean) => any) | undefined;
        "onRequest-share"?: (() => any) | undefined;
    }>, keyof import("../index.ts").ChatBotExpose | ("placement" | "resources" | "renderMode" | "chatHelper" | "url" | "autoLoad" | "enableSelection" | "shareLoading" | "shortcuts")> & {
        currentSession: import("@blueking/chat-helper").ISession<unknown, unknown> | null;
        isGenerating: boolean;
        messages: import("@blueking/chat-x").Message[];
        enterShareMode: () => void;
        exitShareMode: () => void;
        focusInput: () => void;
        getChatHelper: () => import("../types").IChatHelper | null;
        selectShortcut: (shortcut: IShortcut, selectedText?: string) => void;
        sendMessage: (message: string) => Promise<void>;
        sendShortcut: (shortcut: IShortcut, selectedText?: string) => Promise<void>;
        setCiteText: (text: string) => void;
        stopGeneration: () => void;
        switchSession: (sessionCode: string) => Promise<void>;
    } & {} & import("vue").ComponentCustomProperties & {} & {
        $slots: {
            codeHeader?: (props: {
                language: string;
                token: unknown[];
            }) => unknown;
        };
    }) | undefined, ({
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: {
            readonly autoLoad?: boolean | undefined;
            readonly alwaysCreateNewSession?: boolean | undefined;
            readonly chatHelper?: import("../types").IChatHelper | undefined;
            readonly enableSelection?: boolean | undefined;
            readonly renderMode?: import("@blueking/chat-x").RenderMode | undefined;
            readonly extCls?: string | undefined;
            readonly height?: number | string | undefined;
            readonly helloText?: string | undefined;
            readonly maxWidth?: number | string | undefined;
            readonly messageToolsTippyOptions?: import("../components/types.ts").MessageToolsTippyOptions | undefined;
            readonly placeholder?: string | undefined;
            readonly prompts?: string[] | undefined;
            readonly requestOptions?: import("../index.ts").IRequestOptions | undefined;
            readonly resources?: IAiSlashMenuItem[] | undefined;
            readonly sessionCode?: string | undefined;
            readonly shareLoading?: boolean | undefined;
            readonly shortcuts?: IShortcut[] | undefined;
            readonly url?: string | undefined;
            readonly placement?: "left" | "right" | undefined;
            readonly resizeProps?: {
                disabled?: boolean;
                initialDivide?: number | string;
                max?: number;
                min?: number;
            } | undefined;
            readonly onError?: ((error: Error) => any) | undefined;
            readonly onStop?: (() => any) | undefined;
            readonly "onSend-message"?: ((message: string) => any) | undefined;
            readonly "onReceive-start"?: (() => any) | undefined;
            readonly "onReceive-text"?: (() => any) | undefined;
            readonly "onReceive-end"?: (() => any) | undefined;
            readonly "onShortcut-click"?: ((data: {
                shortcut: IShortcut;
                source: "main" | "popup";
            }) => any) | undefined;
            readonly "onSession-switched"?: ((session: import("@blueking/chat-helper").ISession<unknown, unknown> | null) => any) | undefined;
            readonly "onAgent-info-loaded"?: ((chatHelper: import("../types").IChatHelper) => any) | undefined;
            readonly "onConfirm-share"?: ((messages: import("@blueking/chat-x").Message[]) => any) | undefined;
            readonly onFeedback?: ((tool: import("@blueking/chat-x").IToolBtn, message: import("@blueking/chat-x").Message, reasonList: string[], otherReason: string) => any) | undefined;
            readonly "onCancel-share"?: (() => any) | undefined;
            readonly "onExecution-panel-change"?: ((isCollapse: boolean) => any) | undefined;
            readonly "onRequest-share"?: (() => any) | undefined;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
        $attrs: import("vue").Attrs;
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot<any> | undefined;
        }>;
        $root: import("vue").ComponentPublicInstance | null;
        $parent: import("vue").ComponentPublicInstance | null;
        $host: Element | null;
        $emit: ((event: "error", error: Error) => void) & ((event: "stop") => void) & ((event: "send-message", message: string) => void) & ((event: "receive-start") => void) & ((event: "receive-text") => void) & ((event: "receive-end") => void) & ((event: "shortcut-click", data: {
            shortcut: IShortcut;
            source: "main" | "popup";
        }) => void) & ((event: "session-switched", session: import("@blueking/chat-helper").ISession<unknown, unknown> | null) => void) & ((event: "agent-info-loaded", chatHelper: import("../types").IChatHelper) => void) & ((event: "confirm-share", messages: import("@blueking/chat-x").Message[]) => void) & ((event: "feedback", tool: import("@blueking/chat-x").IToolBtn, message: import("@blueking/chat-x").Message, reasonList: string[], otherReason: string) => void) & ((event: "cancel-share") => void) & ((event: "execution-panel-change", isCollapse: boolean) => void) & ((event: "request-share") => void);
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<import("../index.ts").ChatBotProps> & Readonly<{
            onError?: ((error: Error) => any) | undefined;
            onStop?: (() => any) | undefined;
            "onSend-message"?: ((message: string) => any) | undefined;
            "onReceive-start"?: (() => any) | undefined;
            "onReceive-text"?: (() => any) | undefined;
            "onReceive-end"?: (() => any) | undefined;
            "onShortcut-click"?: ((data: {
                shortcut: IShortcut;
                source: "main" | "popup";
            }) => any) | undefined;
            "onSession-switched"?: ((session: import("@blueking/chat-helper").ISession<unknown, unknown> | null) => any) | undefined;
            "onAgent-info-loaded"?: ((chatHelper: import("../types").IChatHelper) => any) | undefined;
            "onConfirm-share"?: ((messages: import("@blueking/chat-x").Message[]) => any) | undefined;
            onFeedback?: ((tool: import("@blueking/chat-x").IToolBtn, message: import("@blueking/chat-x").Message, reasonList: string[], otherReason: string) => any) | undefined;
            "onCancel-share"?: (() => any) | undefined;
            "onExecution-panel-change"?: ((isCollapse: boolean) => any) | undefined;
            "onRequest-share"?: (() => any) | undefined;
        }>, import("../index.ts").ChatBotExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
            error: (error: Error) => any;
            stop: () => any;
            "send-message": (message: string) => any;
            "receive-start": () => any;
            "receive-text": () => any;
            "receive-end": () => any;
            "shortcut-click": (data: {
                shortcut: IShortcut;
                source: "main" | "popup";
            }) => any;
            "session-switched": (session: import("@blueking/chat-helper").ISession<unknown, unknown> | null) => any;
            "agent-info-loaded": (chatHelper: import("../types").IChatHelper) => any;
            "confirm-share": (messages: import("@blueking/chat-x").Message[]) => any;
            feedback: (tool: import("@blueking/chat-x").IToolBtn, message: import("@blueking/chat-x").Message, reasonList: string[], otherReason: string) => any;
            "cancel-share": () => any;
            "execution-panel-change": (isCollapse: boolean) => any;
            "request-share": () => any;
        }, string, {
            placement: "left" | "right";
            resources: IAiSlashMenuItem[];
            renderMode: import("@blueking/chat-x").RenderMode;
            chatHelper: import("../types").IChatHelper;
            url: string;
            autoLoad: boolean;
            enableSelection: boolean;
            shareLoading: boolean;
            shortcuts: IShortcut[];
        }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance | null, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof import("vue").nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import("@vue/reactivity").OnCleanup]) => any : (...args: [any, any, import("@vue/reactivity").OnCleanup]) => any, options?: import("vue").WatchOptions): import("vue").WatchStopHandle;
    } & Readonly<{
        placement: "left" | "right";
        resources: IAiSlashMenuItem[];
        renderMode: import("@blueking/chat-x").RenderMode;
        chatHelper: import("../types").IChatHelper;
        url: string;
        autoLoad: boolean;
        enableSelection: boolean;
        shareLoading: boolean;
        shortcuts: IShortcut[];
    }> & Omit<Readonly<import("../index.ts").ChatBotProps> & Readonly<{
        onError?: ((error: Error) => any) | undefined;
        onStop?: (() => any) | undefined;
        "onSend-message"?: ((message: string) => any) | undefined;
        "onReceive-start"?: (() => any) | undefined;
        "onReceive-text"?: (() => any) | undefined;
        "onReceive-end"?: (() => any) | undefined;
        "onShortcut-click"?: ((data: {
            shortcut: IShortcut;
            source: "main" | "popup";
        }) => any) | undefined;
        "onSession-switched"?: ((session: import("@blueking/chat-helper").ISession<unknown, unknown> | null) => any) | undefined;
        "onAgent-info-loaded"?: ((chatHelper: import("../types").IChatHelper) => any) | undefined;
        "onConfirm-share"?: ((messages: import("@blueking/chat-x").Message[]) => any) | undefined;
        onFeedback?: ((tool: import("@blueking/chat-x").IToolBtn, message: import("@blueking/chat-x").Message, reasonList: string[], otherReason: string) => any) | undefined;
        "onCancel-share"?: (() => any) | undefined;
        "onExecution-panel-change"?: ((isCollapse: boolean) => any) | undefined;
        "onRequest-share"?: (() => any) | undefined;
    }>, keyof import("../index.ts").ChatBotExpose | ("placement" | "resources" | "renderMode" | "chatHelper" | "url" | "autoLoad" | "enableSelection" | "shareLoading" | "shortcuts")> & {
        currentSession: import("@blueking/chat-helper").ISession<unknown, unknown> | null;
        isGenerating: boolean;
        messages: import("@blueking/chat-x").Message[];
        enterShareMode: () => void;
        exitShareMode: () => void;
        focusInput: () => void;
        getChatHelper: () => import("../types").IChatHelper | null;
        selectShortcut: (shortcut: IShortcut, selectedText?: string) => void;
        sendMessage: (message: string) => Promise<void>;
        sendShortcut: (shortcut: IShortcut, selectedText?: string) => Promise<void>;
        setCiteText: (text: string) => void;
        stopGeneration: () => void;
        switchSession: (sessionCode: string) => Promise<void>;
    } & {} & import("vue").ComponentCustomProperties & {} & {
        $slots: {
            codeHeader?: (props: {
                language: string;
                token: unknown[];
            }) => unknown;
        };
    }) | undefined>;
    draggableContainerRef: import("vue").Ref<DraggableContainerExpose | undefined, DraggableContainerExpose | undefined>;
    panelVisible: import("vue").Ref<boolean, boolean>;
    nimbusMinimized: import("vue").Ref<boolean, boolean>;
    normalizedUrl: import("vue").ComputedRef<string>;
    agentInfo: import("vue").ComputedRef<import("@blueking/chat-helper").IAgentInfo | null>;
    agentName: import("vue").ComputedRef<string>;
    currentSession: import("vue").ComputedRef<import("@blueking/chat-helper").ISession<unknown, unknown> | null>;
    isCompressed: import("vue").ComputedRef<boolean>;
    isWelcomeState: import("vue").ComputedRef<boolean>;
    messageToolsTippyOptions: {
        appendTo: (ref: Element) => Element;
    };
    agentResources: import("vue").ComputedRef<IAiSlashMenuItem[]>;
    agentPrompts: import("vue").ComputedRef<string[]>;
    handleError: (error: Error) => void;
};
//# sourceMappingURL=use-ai-blueking-init.d.ts.map