import type { AssistantMessageEvent, Usage } from '../ai/types.js';
import { type ShortcutXLModelInvokeResponse, type ShortcutXLModelUsage } from '../contracts/model-call.js';
import { type ShortcutXLModelStreamEvent } from '../contracts/model-stream.js';
import type { ShortcutXLAiModelInvokeRequest, ShortcutXLAiModelStreamRequest } from '../contracts/wire.js';
import type { ShortcutXLModelStreamTransport, ShortcutXLModelUsageStatusLogger } from './model-call-orchestrator.js';
import type { RunShortcutXLModelStreamRequestOptions } from './stream.js';
export interface AnthropicMessagesGatewayAuth {
    readonly headerName: 'Authorization' | 'x-api-key';
    readonly token: string;
}
export interface CreateAnthropicMessagesModelStreamTransportOptions {
    readonly auth: AnthropicMessagesGatewayAuth;
    readonly baseUrl: string;
    readonly fetchImpl?: typeof fetch;
    readonly fetchOptions?: RequestInit;
    readonly headers?: Readonly<Record<string, string | null>>;
    readonly usageStatusLogger?: ShortcutXLModelUsageStatusLogger;
}
export declare function toProviderUsageFromAi(usage: Usage | undefined): ShortcutXLModelUsage | undefined;
export declare function toShortcutXLModelStreamEvent(event: AssistantMessageEvent): ShortcutXLModelStreamEvent | undefined;
export declare function invokeAnthropicMessagesModel(request: ShortcutXLAiModelInvokeRequest, options: {
    readonly auth: AnthropicMessagesGatewayAuth;
    readonly baseUrl: string;
    readonly fetchImpl?: typeof fetch;
    readonly fetchOptions?: RequestInit;
    readonly headers?: Readonly<Record<string, string>>;
    readonly signal?: AbortSignal;
    readonly usageStatusLogger?: ShortcutXLModelUsageStatusLogger;
    readonly usageRequestId: string;
}): Promise<ShortcutXLModelInvokeResponse>;
export declare function streamAiAnthropicMessagesModelRequest(request: ShortcutXLAiModelStreamRequest, options: CreateAnthropicMessagesModelStreamTransportOptions & {
    readonly onEvent: RunShortcutXLModelStreamRequestOptions['onEvent'];
    readonly signal?: AbortSignal;
}): Promise<void>;
export declare function createAnthropicMessagesModelStreamTransport(options: CreateAnthropicMessagesModelStreamTransportOptions): ShortcutXLModelStreamTransport;
//# sourceMappingURL=anthropic-messages-transport.d.ts.map