export declare const OPENAI_V1_REALTIME_TRANSCRIPTION_SESSIONS_ENDPOINT: "/v1/realtime/transcription_sessions";
export declare const DEFAULT_OPENAI_V1_REALTIME_TRANSCRIPTION_SESSIONS_BASE_URL: "https://api.openai.com";
export type OpenAIV1RealtimeTranscriptionSessionsMethod = "POST";
export type OpenAIV1RealtimeTranscriptionSessionsBoundary = "input" | "contract" | "governance" | "auth" | "scope" | "provider" | "response";
export type OpenAIV1RealtimeTranscriptionSessionsErrorCode = "MISSING_REQUEST_BODY" | "INVALID_REQUEST_BODY" | "MISSING_RUNTIME_ID" | "INVALID_TIMEOUT" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED" | "AUTH_REJECTED" | "SCOPE_DENIED" | "CALLER_REQUIRED" | "PROVIDER_AUTH_FAILED" | "PROVIDER_RATE_LIMITED" | "PROVIDER_TIMEOUT" | "PROVIDER_UNAVAILABLE" | "RESPONSE_FORMAT_DRIFT" | "CALLER_FAILED";
export type OpenAIV1RealtimeTranscriptionSessionsGate = {
    accepted: boolean;
    reason?: string;
};
export type OpenAIV1RealtimeTranscriptionSessionsRuntimeContext = {
    runtimeId?: string;
    invocationId?: string;
    traceId?: string;
    callerId?: string;
};
export type OpenAIV1RealtimeTranscriptionSessionsAuthEnvelope = {
    kind: "bearer" | "api-key" | "none";
    present: boolean;
    redactedToken?: string;
};
export type OpenAIV1RealtimeTranscriptionSessionsRequestEnvelope = {
    provider: "openai";
    apiVersion: "v1";
    endpoint: typeof OPENAI_V1_REALTIME_TRANSCRIPTION_SESSIONS_ENDPOINT;
    method: OpenAIV1RealtimeTranscriptionSessionsMethod;
    url: string;
    requestBody: Record<string, unknown>;
    headers: Readonly<Record<string, string>>;
    timeoutMs: number;
    runtime: Required<OpenAIV1RealtimeTranscriptionSessionsRuntimeContext>;
    requestedScopes: readonly string[];
    grantedScopes: readonly string[];
    dryRun: boolean;
    providerCallPlanned: boolean;
    unsafeSideEffects: false;
    providerFieldsOpaque: true;
};
export type OpenAIV1RealtimeTranscriptionSessionsProviderCaller = (envelope: OpenAIV1RealtimeTranscriptionSessionsRequestEnvelope) => unknown | Promise<unknown>;
export type OpenAIV1RealtimeTranscriptionSessionsInvocationRequest = {
    requestBody?: unknown;
    baseUrl?: string;
    headers?: Readonly<Record<string, string | undefined>>;
    auth?: OpenAIV1RealtimeTranscriptionSessionsAuthEnvelope;
    runtime?: OpenAIV1RealtimeTranscriptionSessionsRuntimeContext;
    requiredScopes?: readonly string[];
    allowedScopes?: readonly string[];
    timeoutMs?: number;
    contract?: OpenAIV1RealtimeTranscriptionSessionsGate;
    governance?: OpenAIV1RealtimeTranscriptionSessionsGate;
    dryRun?: boolean;
    mockResponse?: unknown;
    expectResponseObject?: boolean;
    caller?: OpenAIV1RealtimeTranscriptionSessionsProviderCaller;
};
export type OpenAIV1RealtimeTranscriptionSessionsResponseEnvelope = {
    provider: "openai";
    endpoint: typeof OPENAI_V1_REALTIME_TRANSCRIPTION_SESSIONS_ENDPOINT;
    mode: "dry-run" | "mock" | "caller";
    raw: unknown;
    providerFieldsOpaque: true;
};
export type OpenAIV1RealtimeTranscriptionSessionsCapabilitySignal = {
    provider: "openai";
    endpoint: typeof OPENAI_V1_REALTIME_TRANSCRIPTION_SESSIONS_ENDPOINT;
    rawShape: "realtime-transcription-session" | "mock" | "dry-run";
};
export type OpenAIV1RealtimeTranscriptionSessionsError = {
    code: OpenAIV1RealtimeTranscriptionSessionsErrorCode;
    message: string;
    boundary: OpenAIV1RealtimeTranscriptionSessionsBoundary;
    retryable: boolean;
};
export type OpenAIV1RealtimeTranscriptionSessionsResult = {
    ok: true;
    request: OpenAIV1RealtimeTranscriptionSessionsRequestEnvelope;
    response: OpenAIV1RealtimeTranscriptionSessionsResponseEnvelope;
    capability: OpenAIV1RealtimeTranscriptionSessionsCapabilitySignal;
    events: readonly string[];
} | {
    ok: false;
    error: OpenAIV1RealtimeTranscriptionSessionsError;
    request?: OpenAIV1RealtimeTranscriptionSessionsRequestEnvelope;
    events: readonly string[];
};
export declare function classifyOpenAIV1RealtimeTranscriptionSessionsProviderError(error: unknown): OpenAIV1RealtimeTranscriptionSessionsErrorCode;
export declare function invokeOpenAIV1RealtimeTranscriptionSessions(input?: OpenAIV1RealtimeTranscriptionSessionsInvocationRequest): Promise<OpenAIV1RealtimeTranscriptionSessionsResult>;
