import { ChatConfig, ChatMessage } from '../core/types';
interface HotIssue {
    id: string;
    question: string;
}
export declare function useAiChat(config: ChatConfig): {
    messages: import('../../vue/dist/vue.esm-bundler.js').Ref<{
        role: "user" | "assistant" | "system";
        stopMessage?: boolean | undefined | undefined;
        content: string;
    }[][], ChatMessage[][] | {
        role: "user" | "assistant" | "system";
        stopMessage?: boolean | undefined | undefined;
        content: string;
    }[][]>;
    input: import('../../vue/dist/vue.esm-bundler.js').Ref<string, string>;
    loading: import('../../vue/dist/vue.esm-bundler.js').Ref<boolean, boolean>;
    error: import('../../vue/dist/vue.esm-bundler.js').Ref<Error | null, Error | null>;
    sendMessage: () => Promise<void>;
    stopGeneration: () => void;
    hotQuestions: import('../../vue/dist/vue.esm-bundler.js').Ref<{
        id: string;
        question: string;
    }[], HotIssue[] | {
        id: string;
        question: string;
    }[]>;
    systemQuestions: import('../../vue/dist/vue.esm-bundler.js').Ref<{
        id: string;
        question: string;
    }[], HotIssue[] | {
        id: string;
        question: string;
    }[]>;
    lawyerQuestions: import('../../vue/dist/vue.esm-bundler.js').Ref<{
        id: string;
        question: string;
    }[], HotIssue[] | {
        id: string;
        question: string;
    }[]>;
    hotQuestionsLoading: import('../../vue/dist/vue.esm-bundler.js').Ref<boolean, boolean>;
    systemQuestionsLoading: import('../../vue/dist/vue.esm-bundler.js').Ref<boolean, boolean>;
    lawyerQuestionsLoading: import('../../vue/dist/vue.esm-bundler.js').Ref<boolean, boolean>;
    refreshHotIssues: (type?: string) => Promise<void>;
    selectHotIssue: (hotIssue: HotIssue) => void;
};
export {};
