import { WebSocket } from "ws";
export type Hashes = {
    [file: string]: {
        [promptHash: string]: string;
        promptHash: string;
        fileHash: string;
    };
};
export type GenerationSource = {
    model?: string;
    agent?: string;
    input: string;
    output: string;
    prompt: string;
    kind?: string;
    outputExt?: string;
    outputName?: string;
};
export type EmbedSource = {
    input: string;
    output: string;
    prompt?: string;
    kind?: string;
    uploadMode?: boolean;
    remote?: string;
    remoteType?: string;
    remoteId?: string;
    chunkSize?: number;
    minLength?: number;
};
export type Config = {
    openaiBaseUrl?: string;
    promptsDir: string;
    lintCommands?: {
        [fileExtension: string]: string;
    };
    orgId?: string;
    syncRemote?: boolean;
    micCommand?: string;
    defaultMic?: string;
    sources: GenerationSource[];
    embedSources: EmbedSource[];
    embeddingModel: string;
    skills?: string[];
    plugins: {
        enabled: string[];
        disabled: string[];
    };
    chat?: {
        rootModule?: string;
        renderer?: string;
        modules?: string[];
    };
    modules: string[];
    agents: Assistant[];
    mcps: McpConfig[];
    modelProviders: ModelProvider[];
    ycmd?: {
        enabled?: boolean;
        installPath?: string;
        port?: number;
        logLevel?: "debug" | "info" | "warning" | "error";
        completionTimeout?: number;
    };
    files?: {
        remotePath: string;
        localPath: string;
        direction?: "download" | "upload" | "sync";
    }[];
    worker?: {
        allowedTools?: string[];
        workerId?: string;
        sandbox?: boolean;
        volumes?: string[];
        envFile?: string;
        auth?: {
            required?: boolean;
            passkey?: {
                publicKey?: string;
                credentialId?: string;
                algorithm?: string;
            };
            sessionDurationHours?: number;
        };
        commandAuth?: {
            [toolName: string]: "always" | "session" | "never";
        };
        tunnel?: {
            enabled?: boolean;
            allowedPorts?: number[];
            maxConcurrentStreams?: number;
            portMapping?: {
                [containerPort: number]: number;
            };
            localHost?: string;
            enableUrlRewriting?: boolean;
        };
    };
};
export type Assistant = {
    name?: string;
    description?: string;
    instructions: string;
    model?: string;
    provider?: keyof typeof Providers;
};
export type McpConfig = {
    name: string;
    autoConnect?: boolean;
    command?: string;
    url?: string;
    args?: string[];
    env?: {
        [key: string]: string;
    };
    params?: Partial<{
        socket: WebSocket;
    }>;
    authorization_token?: string;
    authorization_token_file?: string;
};
export type ModelProvider = {
    url?: string;
    provider: string;
    envKey?: string;
    headers?: {
        [key: string]: string;
    };
    jwtFile?: string;
    timeout?: number;
    extra_body?: Record<string, any>;
    pricing?: Record<string, {
        input?: number;
        output?: number;
        cached_input?: number;
        cache_hit?: number;
    }>;
};
export type AssistantConfig = {
    files: {
        [filepath: string]: string;
    };
};
export interface Embeddable<T = any> {
    id: string;
    text: string;
    vector: number[];
    metadata: T;
}
export type MinimalEmbedding<T = any> = Pick<Embeddable<T>, "id" | "text" | "metadata">;
export interface EmbeddingBase<T = any> extends Embeddable<T> {
    similarity?: number;
}
export type GptQuestionEmbedding = any & EmbeddingBase;
export type DatasourceType = "file" | "url" | "text";
export interface IDatasource {
    kind: string;
    data: string[];
}
export type Language = {
    [term: string]: {
        events: string[];
        sources: IDatasource[];
        context?: string;
        handled?: boolean;
    };
};
export type ChatInteraction = {
    input: string;
    output: string;
    taskId: string;
};
import { AnthropicTextModels } from "./clients/pricing/anthropic";
import { OpenAiReasoningModels, OpenAiChatModels, OpenAiEmbeddingModelsList, OpenAiResponsesOnlyModels, OpenAiImageModels, OpenAiVideoModels, OpenAiTTSModels, OpenAiTranscriptionModels, OpenAiRealtimeModels } from "./clients/pricing/openai";
import { GoogleTextModels, GoogleImageModels, GoogleVideoModels, GoogleTTSModels, GoogleEmbeddingModelsList, GoogleThinkingLevelModels, GoogleThinkingBudgetModels } from "./clients/pricing/google";
import { XaiTextModels, XaiImageModels, XaiVideoModels, XaiResponsesOnlyModels, XaiReasoningModels } from "./clients/pricing/xai";
export declare const Models: {
    anthropic: {
        readonly Opus4_7: "claude-opus-4-7";
        readonly Opus4_6: "claude-opus-4-6";
        readonly Opus4_6Fast: "claude-opus-4-6-fast";
        readonly Sonnet4_6: "claude-sonnet-4-6";
        readonly Opus4_5: "claude-opus-4-5-20251101";
        readonly Opus4_1: "claude-opus-4-1-20250805";
        readonly Sonnet4_5: "claude-sonnet-4-5-20250929";
        readonly Haiku4_5: "claude-haiku-4-5-20251001";
        readonly Opus4: "claude-opus-4-20250514";
        readonly Sonnet4: "claude-sonnet-4-20250514";
        readonly Sonnet3_7: "claude-3-7-sonnet-20250219";
        readonly Sonnet3_5: "claude-3-5-sonnet-20241022";
        readonly Sonnet3_5_20240620: "claude-3-5-sonnet-20240620";
        readonly Haiku3_5_Latest: "claude-3-5-haiku-latest";
        readonly Sonnet3: "claude-3-sonnet-20240229";
        readonly Opus4_0: "claude-opus-4-0";
        readonly Sonnet4_0: "claude-sonnet-4-0";
        readonly Haiku3_5: "claude-3-5-haiku-20241022";
        readonly Opus3: "claude-3-opus-20240229";
        readonly Haiku3: "claude-3-haiku-20240307";
    };
    xai: {
        readonly Grok_4_20_Reasoning: "grok-4.20-0309-reasoning";
        readonly Grok_4_20_NonReasoning: "grok-4.20-0309-non-reasoning";
        readonly Grok_4_20_MultiAgent: "grok-4.20-multi-agent-0309";
        readonly Grok4_1_Fast_Reasoning: "grok-4-1-fast-reasoning";
        readonly Grok4_1_Fast_NonReasoning: "grok-4-1-fast-non-reasoning";
        readonly GrokCodeFast: "grok-code-fast-1";
        readonly Grok4: "grok-4-0709";
        readonly Grok3Beta: "grok-3-beta";
        readonly Grok3MiniBeta: "grok-3-mini-beta";
        readonly Grok3FastBeta: "grok-3-fast-beta";
        readonly Grok3MiniFastBeta: "grok-3-mini-fast-beta";
        readonly Grok2Latest: "grok-2-latest";
        readonly Grok2VisionLatest: "grok-2-vision-latest";
        readonly Grok3Latest: "grok-3-latest";
        readonly Grok3FastLatest: "grok-3-fast-latest";
        readonly Grok3MiniLatest: "grok-3-mini-latest";
        readonly Grok3MiniFastLatest: "grok-3-mini-fast-latest";
        readonly GrokBeta: "grok-beta";
        readonly GrokVisionBeta: "grok-vision-beta";
        readonly Grok4_1_Fast: "grok-4-1-fast";
        readonly Grok4Fast: "grok-4-fast";
        readonly Grok4FastNonReasoning: "grok-4-fast-non-reasoning";
        readonly Grok21212: "grok-2-1212";
        readonly Grok2Vision1212: "grok-2-vision-1212";
        readonly GrokImagineImage: "grok-imagine-image";
        readonly GrokImagineVideo: "grok-imagine-video";
        readonly Grok2Image1212: "grok-2-image-1212";
    };
    openai: {
        readonly GPT_55: "gpt-5.5";
        readonly GPT_55_Pro: "gpt-5.5-pro";
        readonly GPT_54: "gpt-5.4";
        readonly GPT_54_Mini: "gpt-5.4-mini";
        readonly GPT_54_Nano: "gpt-5.4-nano";
        readonly GPT_54_Pro: "gpt-5.4-pro";
        readonly GPT_53_Chat: "gpt-5.3-chat-latest";
        readonly GPT_53_Codex: "gpt-5.3-codex";
        readonly GPT_53_Codex_Spark: "gpt-5.3-codex-spark";
        readonly GPT_52: "gpt-5.2";
        readonly GPT_52_Chat: "gpt-5.2-chat-latest";
        readonly GPT_52_Codex: "gpt-5.2-codex";
        readonly GPT_52_Pro: "gpt-5.2-pro";
        readonly GPT_51: "gpt-5.1";
        readonly GPT_51_Chat: "gpt-5.1-chat-latest";
        readonly GPT_51_Codex: "gpt-5.1-codex";
        readonly GPT_51_Codex_Max: "gpt-5.1-codex-max";
        readonly GPT_51_Codex_Mini: "gpt-5.1-codex-mini";
        readonly GPT_5: "gpt-5";
        readonly GPT_5_Pro: "gpt-5-pro";
        readonly GPT_5_Chat: "gpt-5-chat-latest";
        readonly GPT_5_Codex: "gpt-5-codex";
        readonly GPT_5_Mini: "gpt-5-mini";
        readonly GPT_5_Nano: "gpt-5-nano";
        readonly GPT_41: "gpt-4.1-2025-04-14";
        readonly GPT_41_Mini: "gpt-4.1-mini-2025-04-14";
        readonly GPT_41_Nano: "gpt-4.1-nano-2025-04-14";
        readonly GPT_45: "gpt-4.5-preview-2025-02-27";
        readonly GPT_4o: "gpt-4o-2024-08-06";
        readonly GPT_4o_Audio: "gpt-4o-audio-preview-2024-12-17";
        readonly GPT_4o_Realtime: "gpt-4o-realtime-preview-2024-12-17";
        readonly GPT_4o_Mini: "gpt-4o-mini-2024-07-18";
        readonly GPT_4o_Mini_Audio: "gpt-4o-mini-audio-preview-2024-12-17";
        readonly GPT_4o_Mini_Realtime: "gpt-4o-mini-realtime-preview-2024-12-17";
        readonly o1: "o1-2024-12-17";
        readonly o1_Pro: "o1-pro-2025-03-19";
        readonly o3: "o3-2025-04-16";
        readonly o3_Pro: "o3-pro-2025-01-31";
        readonly o4_Mini: "o4-mini-2025-04-16";
        readonly o3_Mini: "o3-mini-2025-01-31";
        readonly o1_Mini: "o1-mini-2024-09-12";
        readonly o1_Preview: "o1-preview";
        readonly o3_Deep_Research: "o3-deep-research";
        readonly o4_Mini_Deep_Research: "o4-mini-deep-research";
        readonly GPT_4o_Mini_Search: "gpt-4o-mini-search-preview-2025-03-11";
        readonly GPT_4o_Search: "gpt-4o-search-preview-2025-03-11";
        readonly GPT_4o_Transcribe: "gpt-4o-transcribe";
        readonly GPT_4o_Mini_Transcribe: "gpt-4o-mini-transcribe";
        readonly GPT_Realtime_15: "gpt-realtime-1.5";
        readonly GPT_Realtime_Mini: "gpt-realtime-mini";
        readonly GPT_Image_2: "gpt-image-2";
        readonly GPT_Image_15: "gpt-image-1.5";
        readonly GPT_Image_1: "gpt-image-1";
        readonly GPT_Image_1_Mini: "gpt-image-1-mini";
        readonly ChatGPT_Image: "chatgpt-image-latest";
        readonly TTS_1: "tts-1";
        readonly Whisper_1: "whisper-1";
        readonly DALL_E_3: "dall-e-3";
        readonly DALL_E_2: "dall-e-2";
        readonly Sora: "sora";
        readonly Sora_2: "sora-2";
        readonly Sora_2_Pro: "sora-2-pro";
        readonly GPT_4o_2024_05_13: "gpt-4o-2024-05-13";
        readonly GPT_4o_2024_11_20: "gpt-4o-2024-11-20";
        readonly GPT_35_Turbo: "gpt-3.5-turbo";
        readonly GPT_4: "gpt-4";
        readonly GPT_4_Turbo: "gpt-4-turbo";
    };
    google: {
        readonly Gemini_31_Pro_Preview: "gemini-3.1-pro-preview";
        readonly Gemini_31_Flash_Image_Preview: "gemini-3.1-flash-image-preview";
        readonly Gemini_31_Flash_Lite_Preview: "gemini-3.1-flash-lite-preview";
        readonly Gemini_31_Flash_Live_Preview: "gemini-3.1-flash-live-preview";
        readonly Gemini_3_Flash_Preview: "gemini-3-flash-preview";
        readonly Gemini_3_Pro_Image_Preview: "gemini-3-pro-image-preview";
        readonly Gemini_25_Pro: "gemini-2.5-pro";
        readonly Gemini_25_Flash: "gemini-2.5-flash";
        readonly Gemini_25_Flash_Lite: "gemini-2.5-flash-lite";
        readonly Gemini_25_Flash_Preview: "gemini-2.5-flash-preview-05-20";
        readonly Gemini_25_Flash_Preview_0417: "gemini-2.5-flash-preview-04-17";
        readonly Gemini_25_Pro_Preview: "gemini-2.5-pro-preview-05-06";
        readonly Gemini_25_Flash_Image: "gemini-2.5-flash-image";
        readonly Gemini_25_Flash_Image_Preview: "gemini-2.5-flash-image-preview";
        readonly Gemini_25_Flash_Live: "gemini-2.5-flash-live-preview";
        readonly Gemini_25_Flash_Native_Audio: "gemini-2.5-flash-native-audio-preview-12-2025";
        readonly Gemini_25_Pro_TTS: "gemini-2.5-pro-preview-tts";
        readonly Gemini_20_Flash: "gemini-2.0-flash";
        readonly Gemini_20_Flash_Preview_Image_Generation: "gemini-2.0-flash-exp-image-generation";
        readonly Gemini_20_Flash_Live: "gemini-2.0-flash-live-001";
        readonly Gemini_15_Flash: "gemini-1.5-flash";
        readonly Gemini_15_Flash_8B: "gemini-1.5-flash-8b";
        readonly Gemini_15_Pro: "gemini-1.5-pro";
        readonly Imagen_3: "imagen-4.0-generate-001";
        readonly Imagen_4_Fast: "imagen-4.0-fast-generate-001";
        readonly Imagen_4_Ultra: "imagen-4.0-ultra-generate-001";
        readonly Veo_2: "veo-2.0-generate-001";
        readonly Veo_3: "veo-3.0-generate-001";
        readonly Veo_3_Fast: "veo-3.0-fast-generate-001";
        readonly Veo_3_1: "veo-3.1-generate-preview";
        readonly Veo_3_1_Fast: "veo-3.1-fast-generate-preview";
        readonly Gemini_25_Flash_TTS: "gemini-2.5-flash-preview-tts";
        readonly Gemini_20_Flash_TTS: "gemini-2.0-flash-preview-tts";
    };
};
export declare const EmbeddingModels: {
    openai: Record<string, string>;
    google: Record<string, string>;
};
export { OpenAiReasoningModels, OpenAiChatModels, OpenAiEmbeddingModelsList, OpenAiResponsesOnlyModels, OpenAiImageModels, OpenAiVideoModels, OpenAiTTSModels, OpenAiTranscriptionModels, OpenAiRealtimeModels, GoogleTextModels as GoogleReasoningModels, GoogleImageModels, GoogleVideoModels, GoogleTTSModels, GoogleEmbeddingModelsList, GoogleThinkingLevelModels, GoogleThinkingBudgetModels, AnthropicTextModels, XaiTextModels, XaiImageModels, XaiVideoModels, XaiResponsesOnlyModels, XaiReasoningModels, };
export declare function getEnabledPlugins(plugins: Config["plugins"] | undefined): string[];
export declare function getDisabledPlugins(plugins: Config["plugins"] | undefined): string[];
export declare const Providers: { [key in keyof typeof Models]: keyof typeof Models; };
