import { ApolloClient } from "@apollo/client";
import { AIModelLoadingStatus, AITask } from "./Tasks";
import { ModelInput, Model, ModelType } from "./AIResolver";
export declare class AIClient {
    #private;
    constructor(apolloClient: ApolloClient<any>, subscribe?: boolean);
    getModels(): Promise<Model[]>;
    addModel(model: ModelInput): Promise<string>;
    updateModel(modelId: string, model: ModelInput): Promise<boolean>;
    removeModel(modelId: string): Promise<boolean>;
    setDefaultModel(modelType: ModelType, modelId: string): Promise<boolean>;
    getDefaultModel(modelType: ModelType): Promise<Model>;
    tasks(): Promise<AITask[]>;
    addTask(name: string, modelId: string, systemPrompt: string, promptExamples: {
        input: string;
        output: string;
    }[], metaData?: string): Promise<AITask>;
    removeTask(taskId: string): Promise<AITask>;
    updateTask(taskId: string, task: AITask): Promise<AITask>;
    modelLoadingStatus(model: string): Promise<AIModelLoadingStatus>;
    prompt(taskId: string, prompt: string): Promise<string>;
    embed(modelId: string, text: string): Promise<Array<number>>;
    openTranscriptionStream(modelId: string, streamCallback: (text: string) => void): Promise<string>;
    closeTranscriptionStream(streamId: string): Promise<void>;
    feedTranscriptionStream(streamId: string, audio: Float32Array): Promise<void>;
}
