export declare const ANTHROPIC_V1_MODELS_ENDPOINT: "/v1/models";
export declare const DEFAULT_ANTHROPIC_V1_MODELS_BASE_URL: "https://api.anthropic.com";
export declare const DEFAULT_ANTHROPIC_VERSION: "2023-06-01";
export type AnthropicV1ModelsBoundary = "input" | "contract" | "governance" | "provider" | "timeout" | "response";
export type AnthropicV1ModelsErrorCode = "MISSING_REQUEST" | "MISSING_AUTH_TOKEN" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED" | "TRANSPORT_UNAVAILABLE" | "PROVIDER_AUTH_FAILED" | "PROVIDER_RATE_LIMITED" | "PROVIDER_TIMEOUT" | "PROVIDER_UNAVAILABLE" | "PROVIDER_ERROR" | "RESPONSE_FORMAT_DRIFT";
export type AnthropicV1ModelsGate = {
    accepted: boolean;
    reason?: string;
};
export type AnthropicV1ModelsRuntimeContext = {
    runtimeId?: string;
    invocationId?: string;
    traceId?: string;
};
export type AnthropicV1ModelsQuery = {
    before_id?: string;
    after_id?: string;
    limit?: number;
};
export type AnthropicV1ModelsProviderEnvelope = {
    provider: "anthropic";
    endpoint: typeof ANTHROPIC_V1_MODELS_ENDPOINT;
    method: "GET";
    url: string;
    headers: Readonly<Record<string, string>>;
    query: Readonly<AnthropicV1ModelsQuery>;
    timeoutMs: number;
    dryRun: boolean;
    providerCallPlanned: boolean;
    runtime: AnthropicV1ModelsRuntimeContext;
};
export type AnthropicV1ModelsProviderResult = {
    statusCode: number;
    body: unknown;
    headers?: Readonly<Record<string, string>>;
};
export type AnthropicV1ModelsTransport = (envelope: AnthropicV1ModelsProviderEnvelope) => Promise<AnthropicV1ModelsProviderResult> | AnthropicV1ModelsProviderResult;
export type AnthropicV1ModelsRequest = {
    baseUrl?: string;
    apiKey?: string;
    anthropicVersion?: string;
    query?: AnthropicV1ModelsQuery;
    timeoutMs?: number;
    dryRun?: boolean;
    runtime?: AnthropicV1ModelsRuntimeContext;
    contract?: AnthropicV1ModelsGate;
    governance?: AnthropicV1ModelsGate;
    transport?: AnthropicV1ModelsTransport;
};
export type AnthropicV1ModelsResponseEnvelope = {
    kind: "dry-run" | "provider";
    statusCode?: number;
    body: unknown;
    headers?: Readonly<Record<string, string>>;
};
export type AnthropicV1ModelsCapabilitySignal = {
    provider: "anthropic";
    endpoint: typeof ANTHROPIC_V1_MODELS_ENDPOINT;
    operation: "list-models";
    rawShape: "models-list" | "dry-run";
};
export type AnthropicV1ModelsError = {
    code: AnthropicV1ModelsErrorCode;
    message: string;
    boundary: AnthropicV1ModelsBoundary;
    statusCode?: number;
};
export type AnthropicV1ModelsResult = {
    ok: true;
    envelope: AnthropicV1ModelsProviderEnvelope;
    response: AnthropicV1ModelsResponseEnvelope;
    capability: AnthropicV1ModelsCapabilitySignal;
    events: readonly string[];
} | {
    ok: false;
    error: AnthropicV1ModelsError;
    envelope?: AnthropicV1ModelsProviderEnvelope;
    events: readonly string[];
};
export declare function invokeAnthropicV1Models(request?: AnthropicV1ModelsRequest): Promise<AnthropicV1ModelsResult>;
