export declare const OPENAI_V1_BATCHES_ENDPOINT: "/v1/batches";
export type OpenAiV1BatchesMethod = "GET" | "POST" | "DELETE";
export type OpenAiV1BatchesGate = {
    accepted: boolean;
    reason?: string;
};
export type OpenAiV1BatchesTrace = {
    correlationId?: string;
    callerId?: string;
};
export type OpenAiV1BatchesMockCallerRequest = {
    provider: "openai";
    endpoint: typeof OPENAI_V1_BATCHES_ENDPOINT;
    url: string;
    method: OpenAiV1BatchesMethod;
    requestBody: Record<string, unknown>;
    headers: {
        authorization?: string;
        organization?: string;
        project?: string;
    };
    timeoutMs: number;
    trace: OpenAiV1BatchesTrace;
};
export type OpenAiV1BatchesMockCallerResponse = {
    status: number;
    body?: unknown;
    headers?: Record<string, string>;
};
export type OpenAiV1BatchesMockCaller = (request: OpenAiV1BatchesMockCallerRequest) => Promise<OpenAiV1BatchesMockCallerResponse> | OpenAiV1BatchesMockCallerResponse;
export type OpenAiV1BatchesInvocationRequest = {
    requestBody?: unknown;
    baseUrl?: string;
    method?: OpenAiV1BatchesMethod;
    pathSuffix?: string;
    apiKey?: string;
    organizationId?: string;
    projectId?: string;
    timeoutMs?: number;
    trace?: OpenAiV1BatchesTrace;
    contract?: OpenAiV1BatchesGate;
    governance?: OpenAiV1BatchesGate;
    dryRun?: boolean;
    mockCaller?: OpenAiV1BatchesMockCaller;
};
export type OpenAiV1BatchesErrorCode = "MISSING_REQUEST" | "MISSING_REQUEST_BODY" | "INVALID_REQUEST_BODY" | "INVALID_TIMEOUT" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED" | "MISSING_MOCK_CALLER" | "UPSTREAM_AUTH_FAILED" | "UPSTREAM_RATE_LIMITED" | "UPSTREAM_TIMEOUT" | "UPSTREAM_UNAVAILABLE" | "UPSTREAM_RESPONSE_DRIFT" | "UPSTREAM_ERROR";
export type OpenAiV1BatchesErrorBoundary = "input" | "contract" | "governance" | "provider";
export type OpenAiV1BatchesInvocationError = {
    code: OpenAiV1BatchesErrorCode;
    message: string;
    boundary: OpenAiV1BatchesErrorBoundary;
    providerSafe: true;
};
export type OpenAiV1BatchesProviderEnvelope = {
    provider: "openai";
    endpoint: typeof OPENAI_V1_BATCHES_ENDPOINT;
    url: string;
    method: OpenAiV1BatchesMethod;
    requestBody: Record<string, unknown>;
    status?: number;
    rawResponse?: unknown;
    responseHeaders?: Record<string, string>;
    authState: "missing" | "provided";
    capabilitySignals: {
        actualInvocationLayer: true;
        providerShapePreserved: true;
        endpoint: typeof OPENAI_V1_BATCHES_ENDPOINT;
        mockable: true;
    };
    trace: OpenAiV1BatchesTrace;
    dryRun: boolean;
    unsafeSideEffects: false;
};
export type OpenAiV1BatchesInvocationResult = {
    ok: true;
    envelope: OpenAiV1BatchesProviderEnvelope;
    events: readonly string[];
} | {
    ok: false;
    error: OpenAiV1BatchesInvocationError;
    events: readonly string[];
};
export declare function invokeOpenAiV1Batches(request?: OpenAiV1BatchesInvocationRequest): Promise<OpenAiV1BatchesInvocationResult>;
