import { LanguageModelV4, ModelEntry, ProviderV4 } from "@ai-sdk/provider";
import { FetchFunction, Resolvable } from "@ai-sdk/provider-utils";
//#region src/amazon-bedrock-sigv4-fetch.d.ts
interface AmazonBedrockCredentials {
  region: string;
  accessKeyId: string;
  secretAccessKey: string;
  sessionToken?: string;
}
//#endregion
//#region src/amazon-bedrock-model-catalog.d.ts
declare const amazonBedrockImageModelCatalog: {
  'amazon.nova-canvas-v1:0': {
    capabilities: {
      image: {
        sizes: {
          description: string;
        };
        fileInput: true;
        maskInput: true;
        maxImagesPerCall: number;
      };
    };
    providerOptions: {
      image: {
        quality: true;
        negativeText: true;
        cfgScale: true;
        style: true;
        taskType: true;
        maskPrompt: true;
        outPaintingMode: true;
        similarityStrength: true;
      };
    };
  };
};
declare const languageModelIds: readonly ["amazon.titan-tg1-large", "amazon.titan-text-express-v1", "anthropic.claude-v2", "anthropic.claude-v2:1", "anthropic.claude-instant-v1", "anthropic.claude-sonnet-5", "anthropic.claude-sonnet-5-5", "anthropic.claude-haiku-5-5", "anthropic.claude-fable-5", "anthropic.claude-fable-5-1", "anthropic.claude-fable-5-2", "anthropic.claude-opus-5", "anthropic.claude-opus-5-5", "anthropic.claude-opus-4-8", "anthropic.claude-opus-4-7", "anthropic.claude-opus-4-6-v1", "anthropic.claude-sonnet-4-6-v1", "anthropic.claude-opus-4-5-20251101-v1:0", "anthropic.claude-haiku-4-5-20251001-v1:0", "anthropic.claude-sonnet-4-5-20250929-v1:0", "anthropic.claude-sonnet-4-20250514-v1:0", "anthropic.claude-opus-4-20250514-v1:0", "anthropic.claude-opus-4-1-20250805-v1:0", "anthropic.claude-3-7-sonnet-20250219-v1:0", "anthropic.claude-3-5-sonnet-20240620-v1:0", "anthropic.claude-3-5-sonnet-20241022-v2:0", "anthropic.claude-3-5-haiku-20241022-v1:0", "anthropic.claude-3-sonnet-20240229-v1:0", "anthropic.claude-3-haiku-20240307-v1:0", "anthropic.claude-3-opus-20240229-v1:0", "cohere.command-text-v14", "cohere.command-light-text-v14", "cohere.command-r-v1:0", "cohere.command-r-plus-v1:0", "meta.llama3-70b-instruct-v1:0", "meta.llama3-8b-instruct-v1:0", "meta.llama3-1-405b-instruct-v1:0", "meta.llama3-1-70b-instruct-v1:0", "meta.llama3-1-8b-instruct-v1:0", "meta.llama3-2-11b-instruct-v1:0", "meta.llama3-2-1b-instruct-v1:0", "meta.llama3-2-3b-instruct-v1:0", "meta.llama3-2-90b-instruct-v1:0", "mistral.mistral-7b-instruct-v0:2", "mistral.mixtral-8x7b-instruct-v0:1", "mistral.mistral-large-2402-v1:0", "mistral.mistral-small-2402-v1:0", "openai.gpt-oss-120b-1:0", "openai.gpt-oss-20b-1:0", "amazon.titan-text-lite-v1", "us.amazon.nova-premier-v1:0", "us.amazon.nova-pro-v1:0", "us.amazon.nova-micro-v1:0", "us.amazon.nova-lite-v1:0", "us.anthropic.claude-3-sonnet-20240229-v1:0", "us.anthropic.claude-3-opus-20240229-v1:0", "us.anthropic.claude-3-haiku-20240307-v1:0", "us.anthropic.claude-3-5-sonnet-20240620-v1:0", "us.anthropic.claude-3-5-haiku-20241022-v1:0", "us.anthropic.claude-3-5-sonnet-20241022-v2:0", "us.anthropic.claude-3-7-sonnet-20250219-v1:0", "us.anthropic.claude-sonnet-5", "us.anthropic.claude-sonnet-5-5", "us.anthropic.claude-haiku-5-5", "us.anthropic.claude-fable-5", "us.anthropic.claude-fable-5-1", "us.anthropic.claude-fable-5-2", "us.anthropic.claude-opus-5", "us.anthropic.claude-opus-5-5", "us.anthropic.claude-opus-4-8", "us.anthropic.claude-opus-4-7", "us.anthropic.claude-opus-4-6-v1", "us.anthropic.claude-sonnet-4-6-v1", "us.anthropic.claude-opus-4-5-20251101-v1:0", "us.anthropic.claude-sonnet-4-5-20250929-v1:0", "us.anthropic.claude-sonnet-4-20250514-v1:0", "us.anthropic.claude-opus-4-20250514-v1:0", "us.anthropic.claude-opus-4-1-20250805-v1:0", "us.anthropic.claude-haiku-4-5-20251001-v1:0", "global.anthropic.claude-fable-5-1", "global.anthropic.claude-fable-5-2", "us.meta.llama3-2-11b-instruct-v1:0", "us.meta.llama3-2-3b-instruct-v1:0", "us.meta.llama3-2-90b-instruct-v1:0", "us.meta.llama3-2-1b-instruct-v1:0", "us.meta.llama3-1-8b-instruct-v1:0", "us.meta.llama3-1-70b-instruct-v1:0", "us.meta.llama3-3-70b-instruct-v1:0", "us.deepseek.r1-v1:0", "us.mistral.pixtral-large-2502-v1:0", "us.meta.llama4-scout-17b-instruct-v1:0", "us.meta.llama4-maverick-17b-instruct-v1:0", "amazon.nova-2-lite-v1:0"];
declare const amazonBedrockEmbeddingModelEntries: {
  'amazon.titan-embed-text-v1': ModelEntry;
  'amazon.titan-embed-text-v2:0': ModelEntry;
  'amazon.nova-embed-text-v2:0': ModelEntry;
  'cohere.embed-english-v3': ModelEntry;
  'cohere.embed-multilingual-v3': ModelEntry;
  'cohere.embed-v4:0': ModelEntry;
};
declare const amazonBedrockRerankingModelEntries: {
  'amazon.rerank-v1:0': {
    capabilities: {
      reranking: {
        documents: {
          text: true;
          object: true;
        };
        topN: true;
      };
    };
    providerOptions: {
      reranking: {
        nextToken: true;
        additionalModelRequestFields: true;
      };
    };
  };
  'cohere.rerank-v3-5:0': {
    capabilities: {
      reranking: {
        documents: {
          text: true;
          object: true;
        };
        topN: true;
      };
    };
    providerOptions: {
      reranking: {
        nextToken: true;
        additionalModelRequestFields: true;
      };
    };
  };
};
/** Capabilities of the native Anthropic endpoint, distinct from Converse. */
declare const nativeAnthropicModels: {
  'us.anthropic.claude-fable-5-1': {
    computerUse: boolean;
    reasoning: boolean;
  };
  'us.anthropic.claude-fable-5-2': {
    computerUse: boolean;
    reasoning: boolean;
  };
  'us.anthropic.claude-sonnet-5-5': {
    computerUse: boolean;
    reasoning: boolean;
  };
  'us.anthropic.claude-sonnet-5': {
    computerUse: boolean;
    reasoning: boolean;
  };
  'us.anthropic.claude-haiku-5-5': {
    computerUse: boolean;
    reasoning: boolean;
  };
  'us.anthropic.claude-fable-5': {
    computerUse: boolean;
    reasoning: boolean;
  };
  'us.anthropic.claude-opus-4-8': {
    computerUse: boolean;
    reasoning: boolean;
  };
  'us.anthropic.claude-opus-4-7': {
    computerUse: boolean;
    reasoning: boolean;
  };
  'us.anthropic.claude-opus-4-6-v1': {
    computerUse: boolean;
    reasoning: boolean;
  };
  'us.anthropic.claude-opus-4-5-20251101-v1:0': {
    computerUse: boolean;
    reasoning: boolean;
  };
  'us.anthropic.claude-sonnet-4-5-20250929-v1:0': {
    computerUse: boolean;
    reasoning: boolean;
  };
  'us.anthropic.claude-opus-4-20250514-v1:0': {
    computerUse: boolean;
    reasoning: boolean;
  };
  'us.anthropic.claude-sonnet-4-20250514-v1:0': {
    computerUse: boolean;
    reasoning: boolean;
  };
  'us.anthropic.claude-opus-4-1-20250805-v1:0': {
    computerUse: boolean;
    reasoning: boolean;
  };
  'us.anthropic.claude-haiku-4-5-20251001-v1:0': {
    computerUse: boolean;
    reasoning: boolean;
  };
  'us.anthropic.claude-3-5-sonnet-20241022-v2:0': {
    computerUse: boolean;
    reasoning: boolean;
  };
  'anthropic.claude-3-5-haiku-20241022-v1:0': undefined;
  'anthropic.claude-3-5-sonnet-20240620-v1:0': undefined;
  'anthropic.claude-3-5-sonnet-20241022-v2:0': undefined;
  'anthropic.claude-3-7-sonnet-20250219-v1:0': undefined;
  'anthropic.claude-3-haiku-20240307-v1:0': undefined;
  'anthropic.claude-3-opus-20240229-v1:0': undefined;
  'anthropic.claude-3-sonnet-20240229-v1:0': undefined;
  'anthropic.claude-fable-5': undefined;
  'anthropic.claude-fable-5-1': undefined;
  'anthropic.claude-fable-5-2': undefined;
  'anthropic.claude-haiku-4-5-20251001-v1:0': undefined;
  'anthropic.claude-haiku-5-5': undefined;
  'anthropic.claude-opus-4-1-20250805-v1:0': undefined;
  'anthropic.claude-opus-4-20250514-v1:0': undefined;
  'anthropic.claude-opus-4-5-20251101-v1:0': undefined;
  'anthropic.claude-opus-4-6-v1': undefined;
  'anthropic.claude-opus-4-7': undefined;
  'anthropic.claude-opus-4-8': undefined;
  'anthropic.claude-opus-5': undefined;
  'anthropic.claude-opus-5-5': undefined;
  'anthropic.claude-sonnet-4-20250514-v1:0': undefined;
  'anthropic.claude-sonnet-4-5-20250929-v1:0': undefined;
  'anthropic.claude-sonnet-4-6-v1': undefined;
  'anthropic.claude-sonnet-5': undefined;
  'anthropic.claude-sonnet-5-5': undefined;
  'global.anthropic.claude-fable-5-1': undefined;
  'global.anthropic.claude-fable-5-2': undefined;
  'us.anthropic.claude-3-5-haiku-20241022-v1:0': undefined;
  'us.anthropic.claude-3-5-sonnet-20240620-v1:0': undefined;
  'us.anthropic.claude-3-7-sonnet-20250219-v1:0': undefined;
  'us.anthropic.claude-3-haiku-20240307-v1:0': undefined;
  'us.anthropic.claude-3-opus-20240229-v1:0': undefined;
  'us.anthropic.claude-3-sonnet-20240229-v1:0': undefined;
  'us.anthropic.claude-opus-5': undefined;
  'us.anthropic.claude-opus-5-5': undefined;
  'us.anthropic.claude-sonnet-4-6-v1': undefined;
};
/** Endpoint availability documented for Mantle's known GPT-OSS models. */
declare const mantleModels: {
  readonly 'openai.gpt-oss-20b': {
    readonly chatCompletions: true;
    readonly responses: true;
  };
  readonly 'openai.gpt-oss-120b': {
    readonly chatCompletions: true;
    readonly responses: true;
  };
  readonly 'openai.gpt-oss-safeguard-20b': {
    readonly chatCompletions: true;
    readonly responses: false;
  };
  readonly 'openai.gpt-oss-safeguard-120b': {
    readonly chatCompletions: true;
    readonly responses: false;
  };
};
/** Known model IDs, derived from the declarations used to build the catalog. */
type AmazonBedrockModelIds = {
  language: (typeof languageModelIds)[number];
  embedding: keyof typeof amazonBedrockEmbeddingModelEntries;
  reranking: keyof typeof amazonBedrockRerankingModelEntries;
  image: keyof typeof amazonBedrockImageModelCatalog;
  anthropic: keyof typeof nativeAnthropicModels;
  mantleChat: keyof typeof mantleModels;
  mantleResponses: { [Id in keyof typeof mantleModels]: (typeof mantleModels)[Id]['responses'] extends true ? Id : never; }[keyof typeof mantleModels];
};
//#endregion
//#region src/mantle/bedrock-mantle-options.d.ts
type BedrockMantleChatModelId = AmazonBedrockModelIds['mantleChat'] | (string & {});
type BedrockMantleResponsesModelId = AmazonBedrockModelIds['mantleResponses'] | (string & {});
type BedrockMantleModelId = BedrockMantleChatModelId | BedrockMantleResponsesModelId;
//#endregion
//#region src/mantle/bedrock-mantle-provider.d.ts
interface BedrockMantleProvider extends ProviderV4 {
  /**
   * Creates a model for text generation using the Chat Completions API.
   * Chat Completions has the broadest model support on Mantle.
   */
  (modelId: BedrockMantleChatModelId): LanguageModelV4;
  /**
   * Creates a model for text generation using the Chat Completions API.
   */
  languageModel(modelId: BedrockMantleChatModelId): LanguageModelV4;
  /**
   * Creates a model for text generation using the Chat Completions API.
   */
  chat(modelId: BedrockMantleChatModelId): LanguageModelV4;
  /**
   * Creates a model for text generation using the Responses API.
   * Not all Mantle models support this API. Notably, gpt-oss-safeguard models
   * are Chat-only.
   */
  responses(modelId: BedrockMantleResponsesModelId): LanguageModelV4;
  /**
   * @deprecated Mantle does not support embedding models.
   */
  textEmbeddingModel(modelId: string): never;
}
interface BedrockMantleProviderSettings {
  /**
   * The AWS region to use for the Bedrock Mantle endpoint. Defaults to the value of the
   * `AWS_REGION` environment variable.
   */
  region?: string;
  /**
   * API key for authenticating requests using Bearer token authentication.
   * A callback is resolved before each request and must return a non-empty key.
   * When provided, this will be used instead of AWS SigV4 authentication.
   * Defaults to the value of the `AWS_BEARER_TOKEN_BEDROCK` environment variable.
   */
  apiKey?: Resolvable<string>;
  /**
   * The AWS access key ID to use for SigV4 authentication. Defaults to the value of the
   * `AWS_ACCESS_KEY_ID` environment variable.
   */
  accessKeyId?: string;
  /**
   * The AWS secret access key to use for SigV4 authentication. Defaults to the value of the
   * `AWS_SECRET_ACCESS_KEY` environment variable.
   */
  secretAccessKey?: string;
  /**
   * The AWS session token to use for SigV4 authentication. Defaults to the value of the
   * `AWS_SESSION_TOKEN` environment variable.
   */
  sessionToken?: string;
  /**
   * Base URL for the Bedrock Mantle API calls.
   */
  baseURL?: string;
  /**
   * Custom headers to include in the requests.
   */
  headers?: Record<string, string | undefined>;
  /**
   * Custom fetch implementation. You can use it as a middleware to intercept requests,
   * or to provide a custom fetch implementation for e.g. testing.
   */
  fetch?: FetchFunction;
  /**
   * The AWS credential provider to use for SigV4 authentication to get dynamic
   * credentials similar to the AWS SDK. Setting a provider here will cause its
   * credential values to be used instead of the `accessKeyId`, `secretAccessKey`,
   * and `sessionToken` settings.
   */
  credentialProvider?: () => PromiseLike<Omit<AmazonBedrockCredentials, 'region'>>;
}
/**
 * Create an Amazon Bedrock Mantle provider instance.
 * This provider uses the OpenAI-compatible Mantle API for models that are
 * only available through the Mantle endpoint (e.g. openai.gpt-oss-20b).
 */
export declare function createBedrockMantle(options?: BedrockMantleProviderSettings): BedrockMantleProvider;
/**
 * Default Bedrock Mantle provider instance.
 */
export declare const bedrockMantle: BedrockMantleProvider;
//#endregion
export type { BedrockMantleModelId, BedrockMantleProvider, BedrockMantleProviderSettings };
//# sourceMappingURL=index.d.ts.map