import type { CredentialRef } from "../authProfileLayer/credentialRef.js";
export type ProviderKind = "openai" | "anthropic" | "deepmind" | "customFormat" | (string & {});
export type ProviderEndpointShape = "responses" | "chat_completions" | "messages" | "completion" | "embedding" | "image" | "audio" | "realtime" | "video" | "files" | "vector-store" | "skills" | "custom" | (string & {});
export type ProviderCachePolicy = {
    intent: "none" | "prefer-provider-cache" | "require-provider-cache";
    vendorHints?: Readonly<Record<string, unknown>>;
};
export type ProviderReasoningConfig = {
    effort?: "minimal" | "low" | "medium" | "high" | "xhigh" | (string & {});
    summary?: "auto" | "concise" | "detailed" | "none" | (string & {});
};
export type ProviderCarrierInput = {
    carrierId?: string;
    provider?: ProviderKind;
    endpointShape?: ProviderEndpointShape;
    baseURL?: string;
    model?: string;
    reasoning?: ProviderReasoningConfig;
    credentialRef?: CredentialRef;
    scopes?: readonly string[];
    capabilities?: readonly string[];
    cachePolicy?: ProviderCachePolicy;
    metadata?: Readonly<Record<string, unknown>>;
};
export type ProviderCarrier = {
    carrierId: string;
    provider: ProviderKind;
    endpointShape: ProviderEndpointShape;
    baseURL?: string;
    model?: string;
    reasoning?: ProviderReasoningConfig;
    credentialRef?: CredentialRef;
    scopes: readonly string[];
    capabilities: readonly string[];
    cachePolicy: ProviderCachePolicy;
    metadata: Readonly<Record<string, unknown>>;
    publicSafe: true;
};
export type ProviderCarrierResult = {
    ok: true;
    carrier: ProviderCarrier;
    events: readonly string[];
} | {
    ok: false;
    error: {
        code: "MISSING_CARRIER_ID" | "MISSING_PROVIDER" | "MISSING_ENDPOINT_SHAPE";
        message: string;
        boundary: "input";
        publicSafe: true;
    };
    events: readonly string[];
};
export declare function createProviderCarrier(input?: ProviderCarrierInput): ProviderCarrierResult;
export declare const OPENAI_DEFAULT_RESPONSES_BASE_URL: "https://api.openai.com";
export declare const OPENAI_DEFAULT_CHAT_COMPLETIONS_BASE_URL: "https://api.openai.com";
export declare const ANTHROPIC_DEFAULT_MESSAGES_BASE_URL: "https://api.anthropic.com";
export declare const CHATGPT_CODEX_DEFAULT_BASE_URL: "https://chatgpt.com/backend-api/codex";
export type ChatGPTCodexCarrierInput = Omit<ProviderCarrierInput, "provider" | "endpointShape" | "baseURL" | "credentialRef"> & {
    credentialRef: CredentialRef;
    baseURL?: string;
    clientName?: string;
    clientVersion?: string;
};
export declare function createChatGPTCodexResponsesCarrier(input: ChatGPTCodexCarrierInput): ProviderCarrierResult;
export type OpenAIV1ResponsesCarrierInput = Omit<ProviderCarrierInput, "provider" | "endpointShape" | "baseURL" | "credentialRef"> & {
    credentialRef: CredentialRef;
    baseURL?: string;
};
export declare function createOpenAIV1ResponsesCarrier(input: OpenAIV1ResponsesCarrierInput): ProviderCarrierResult;
export type OpenAIV1ChatCompletionsCarrierInput = Omit<ProviderCarrierInput, "provider" | "endpointShape" | "baseURL" | "credentialRef"> & {
    credentialRef: CredentialRef;
    baseURL?: string;
};
export declare function createOpenAIV1ChatCompletionsCarrier(input: OpenAIV1ChatCompletionsCarrierInput): ProviderCarrierResult;
export type AnthropicV1MessagesCarrierInput = Omit<ProviderCarrierInput, "provider" | "endpointShape" | "baseURL" | "credentialRef"> & {
    credentialRef: CredentialRef;
    baseURL?: string;
    apiVersion?: string;
};
export declare function createAnthropicV1MessagesCarrier(input: AnthropicV1MessagesCarrierInput): ProviderCarrierResult;
