export type OpenAIAudioTranslationBoundary = "input" | "provider" | "contract" | "governance" | "scope";
export type OpenAIAudioTranslationGate = {
    accepted: boolean;
    reason?: string;
};
export type OpenAIAudioTranslationFile = {
    id?: string;
    name?: string;
    mimeType?: string;
    byteLength?: number;
    sourceRef?: string;
};
export type OpenAIAudioTranslationProviderError = {
    status?: number;
    code?: string;
    message?: string;
    timedOut?: boolean;
    rateLimited?: boolean;
    authFailed?: boolean;
    endpointAvailable?: boolean;
};
export type OpenAIAudioTranslationRequest = {
    requestId?: string;
    model?: string;
    file?: OpenAIAudioTranslationFile;
    body?: Readonly<Record<string, unknown>>;
    apiKeyRef?: string;
    organizationId?: string;
    projectId?: string;
    timeoutMs?: number;
    requestedScopes?: readonly string[];
    allowedScopes?: readonly string[];
    dryRun?: boolean;
    trace?: Readonly<Record<string, string | undefined>>;
    providerResponse?: unknown;
    providerError?: OpenAIAudioTranslationProviderError;
    contract?: OpenAIAudioTranslationGate;
    governance?: OpenAIAudioTranslationGate;
};
export type OpenAIAudioTranslationErrorCode = "MISSING_MODEL" | "MISSING_AUDIO_FILE" | "INVALID_REQUEST_BODY" | "INVALID_TIMEOUT" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED" | "SCOPE_DENIED" | "REAL_PROVIDER_CALL_NOT_ALLOWED" | "PROVIDER_AUTH_FAILED" | "PROVIDER_RATE_LIMITED" | "PROVIDER_TIMEOUT" | "PROVIDER_ENDPOINT_UNAVAILABLE" | "PROVIDER_RESPONSE_DRIFT" | "PROVIDER_REJECTED";
export type OpenAIAudioTranslationError = {
    code: OpenAIAudioTranslationErrorCode;
    message: string;
    boundary: OpenAIAudioTranslationBoundary;
    safeForRuntimeInspection: true;
    providerRawDetailExposed: false;
};
export type OpenAIAudioTranslationEnvelope = {
    provider: "openai";
    endpoint: "/v1/audio/translations";
    method: "POST";
    requestId: string;
    requestShape: "multipart-form-data";
    model: string;
    file: OpenAIAudioTranslationFile;
    body: Readonly<Record<string, unknown>>;
    auth: {
        apiKeyRef?: string;
        organizationId?: string;
        projectId?: string;
        materialPresent: boolean;
    };
    runtime: {
        timeoutMs?: number;
        requestedScopes: readonly string[];
        dryRun: true;
        unsafeSideEffects: false;
    };
    trace: Readonly<Record<string, string | undefined>>;
};
export type OpenAIAudioTranslationResponseEnvelope = {
    provider: "openai";
    endpoint: "/v1/audio/translations";
    raw: unknown;
    received: true;
    providerRawShapePromoted: false;
};
export type OpenAIAudioTranslationResult = {
    ok: true;
    request: OpenAIAudioTranslationEnvelope;
    response?: OpenAIAudioTranslationResponseEnvelope;
    capability: typeof openAIAudioTranslationsDescriptor;
    events: readonly string[];
} | {
    ok: false;
    error: OpenAIAudioTranslationError;
    events: readonly string[];
};
export declare const openAIAudioTranslationsDescriptor: {
    readonly provider: "openai";
    readonly layer: "actualInvocationLayer";
    readonly endpoint: "/v1/audio/translations";
    readonly method: "POST";
    readonly modality: "audio";
    readonly operation: "translation";
    readonly requestShape: "multipart-form-data";
    readonly providerRawShapePromoted: false;
    readonly unsafeSideEffects: false;
};
export declare function createOpenAIAudioTranslationInvocation(request?: OpenAIAudioTranslationRequest): OpenAIAudioTranslationResult;
