import type { Ref } from 'vue';
import type ChatBot from '../components/chat-bot.vue';
import type { ComponentManager } from '../manager/component-manager';
import type { PositionAndSize } from '../manager/types';
import type { IShortcut } from '../types';
import type { EventForwarders, ForwardToManagerFn } from './use-ai-blueking-init';
export interface UsePanelContainerParams {
    beforeNimbusClick?: () => boolean | Promise<boolean | void> | void;
    chatBotRef: Ref<InstanceType<typeof ChatBot> | undefined>;
    componentManager: ComponentManager;
    forwarders: EventForwarders;
    forwardToManager: ForwardToManagerFn;
}
export declare function usePanelContainer(params: UsePanelContainerParams): {
    show: (sessionCode?: string) => Promise<void>;
    handleShow: (sessionCode?: string) => Promise<void>;
    hide: () => void;
    handleClose: () => void;
    handleNimbusClick: () => Promise<void>;
    handleDragging: (position: PositionAndSize) => void;
    handleResizing: (position: PositionAndSize) => void;
    handleDragStop: (position: PositionAndSize) => void;
    handleResizeStop: (position: PositionAndSize) => void;
    handleToggleCompression: () => void;
    handleCompressionChange: (compressed: boolean) => void;
    handleExecutionPanelChange: (isCollapse: boolean) => void;
    sendMessage: (message: string) => Promise<void>;
    handleReceiveStart: () => void;
    handleReceiveText: () => void;
    handleReceiveEnd: () => void;
    handleStop: () => void;
    stopGeneration: () => void;
    updatePosition: (x: number, y: number) => void;
    updateSize: (w: number, h: number) => void;
    updatePositionAndSize: (x: number, y: number, w: number, h: number) => void;
    setCiteText: (text: string) => void;
    focusInput: () => void;
    selectShortcut: (shortcut: IShortcut, selectedText?: string) => void;
    sendShortcut: (shortcut: IShortcut, selectedText?: string) => Promise<void>;
    getChatHelper: () => import("../types").IChatHelper | null;
    handleShortcutClick: (data: {
        shortcut: IShortcut;
        source: "main" | "popup";
    }) => void;
};
//# sourceMappingURL=use-panel-container.d.ts.map