import { OmniaContext } from "@omnia/fx";
import { TextCompletionMenuBar, TipTapEditor } from "@omnia/fx-models";
import { Store } from "@omnia/fx/stores";
import { SidePanelContext } from "@omnia/fx/ux";
import { AzureOpenAIService } from "../../../../services";
export declare const panelElementName: "omfx-textcompletion-panel";
export declare class TextCompletionHandler extends Store {
    private sidePanelInstanceId;
    private editor;
    private onContentChanged;
    private menuBar;
    private prompt;
    private forceClose;
    private selectedText;
    openAiService: AzureOpenAIService;
    omniaContext: OmniaContext;
    onClickOpenEvent(sidePanelContext: SidePanelContext, editor: TipTapEditor, menuBar: TextCompletionMenuBar): void;
    ensureOpenPanel(sidePanelContext: SidePanelContext, editor: TipTapEditor, menuBar: TextCompletionMenuBar, triggerOnLoad?: boolean): void;
    ensureClosePanel(sidePanelContext: SidePanelContext): void;
    forceClosePanel(sidePanelContext: SidePanelContext): void;
    getters: {
        getEditor: () => TipTapEditor;
        getOnContentChanged: () => (content: string) => void;
        getMenuBar: () => TextCompletionMenuBar;
        prompt: () => string;
        forceClose: () => boolean;
        selectedText: () => string;
    };
    setters: {
        setEditor: (editor: TipTapEditor) => TipTapEditor;
        setOnContentChanged: (onContentChanged: (content: string) => void) => (content: string) => void;
        setMenuBar: (menuBar: TextCompletionMenuBar) => TextCompletionMenuBar;
    };
    mutations: {
        prompt: import("@omnia/fx/stores").StoreMutation<(prompt: string) => void, (prompt: string) => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
        forceClose: import("@omnia/fx/stores").StoreMutation<(forceClose: boolean) => void, (forceClose: boolean) => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
        selectedText: import("@omnia/fx/stores").StoreMutation<(prompt: string) => void, (prompt: string) => import("@omnia/fx-models").IMessageBusSubscriptionHandler>;
    };
    actions: {
        validateCount: import("@omnia/fx/stores").StoreAction<unknown, (text: string) => void, (result: number, text: string) => void, (failureReason: any, text: string) => void, (text: string) => Promise<number>>;
    };
    protected onActivated(): void;
    protected onDisposing(): void;
}
