import type { InjectionKey, Ref } from 'vue';
import type { Action, Func, Predicate } from '@om-design/util';
export interface RefineGeneratorContext {
    name: 'RefineGenerator';
    visible: Ref<boolean>;
    width: string;
    generating: Ref<boolean>;
    prompt: Ref<string | undefined>;
    shortcutVisible: Ref<boolean>;
    content: Ref<RefineSingleContentContext[]>;
    activedContent: Ref<RefineSingleContentContext | undefined>;
    contentVisible: Ref<boolean>;
    contentPage: Ref<number>;
    contentState: Ref<RefineContentState>;
    setVisible: Action<boolean>;
    setRefineGenerating: Predicate<boolean | undefined>;
    setRefinePrompt: Action<string | undefined>;
    setShortVisible: Func<boolean | undefined, boolean>;
    setRefineContent: Action<RefineSingleContentContext[]>;
    setActivedRefineContent: Action<RefineSingleContentContext>;
    genRefineContent: (data?: GenContentParams) => void;
    setContentVisible: Func<boolean | undefined, boolean>;
    setContentPage: Action<number>;
    setContentState: Action<RefineContentState>;
    onContentInsert: Action<RefineSingleContentContext>;
    onContentReplace: Action<RefineSingleContentContext>;
    showRefineGenerator: Action<void>;
    abortSession: () => Promise<any>;
}
export declare const refineGeneratorKey: InjectionKey<RefineGeneratorContext>;
export declare enum RefineContentState {
    未生成 = -1,
    等待生成 = 0,
    正在生成 = 1,
    生成结束 = 2
}
export declare enum RefineGenerateType {
    重置 = 0,
    刷新 = 1
}
export declare enum RefineShortcutEunm {
    润色 = "\u6DA6\u8272",
    扩写 = "\u6269\u5199",
    缩写 = "\u7F29\u5199",
    更改语气 = "\u66F4\u6539\u8BED\u6C14",
    更专业 = "\u66F4\u4E13\u4E1A",
    更口语化 = "\u66F4\u53E3\u8BED\u5316",
    更易读 = "\u66F4\u6613\u8BFB",
    更含蓄 = "\u66F4\u542B\u84C4",
    更学术 = "\u66F4\u5B66\u672F",
    更有文采 = "\u66F4\u6709\u6587\u91C7",
    更有网感 = "\u66F4\u6709\u7F51\u611F"
}
export declare const refineShortcutOptions: ({
    label: string;
    value: RefineShortcutEunm;
    icon: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, SVGSVGElement>;
    children?: undefined;
} | {
    label: string;
    value: RefineShortcutEunm;
    icon: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, SVGSVGElement>;
    children: {
        label: string;
        icon: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, SVGSVGElement>;
        value: RefineShortcutEunm;
    }[];
})[];
export interface GenContentParams {
    /**
     * 调优提示词
     */
    prompt?: string;
    /**
     * 调优快捷指令
     */
    shortcutType?: RefineShortcutEunm;
    /**
     * 调优类型
     */
    generateType?: RefineGenerateType;
}
export interface RefineSingleContentContext {
    /**
     * 是否是手动调优
     */
    isManualPrompt?: boolean;
    /**
     * 调优关键词
     */
    prompt?: string;
    /**
     * 调优快捷指令
     */
    shortcutType?: RefineShortcutEunm;
    /**
     * 调优生成内容
     */
    content?: string;
}
