import { FetchFunction, Resolvable, WORKFLOW_DESERIALIZE, WORKFLOW_SERIALIZE, WebSocketConstructor } from "@ai-sdk/provider-utils";
import { GoogleInteractionsAgentName, GoogleInteractionsModelId } from "@ai-sdk/google/internal";
import { EmbeddingModelV4, Experimental_VideoModelV4, ImageModelV4, LanguageModelV4, ProviderV4, SpeechModelV4, TranscriptionModelV4 } from "@ai-sdk/provider";
import "@ai-sdk/google";
//#region src/google-vertex-model-catalog.d.ts
declare const languageModelIds: readonly ["gemini-nano-banana-2.1", "gemini-4-argon", "gemini-4-carbon", "gemini-4-hydrogen", "gemini-3.8-flash", "gemini-3.7-flash", "gemini-3.6-flash", "gemini-3.5-flash", "gemini-3.5-flash-lite", "gemini-2.5-pro", "gemini-2.5-flash", "gemini-2.5-flash-lite", "gemini-2.0-flash-lite", "gemini-2.0-flash", "gemini-2.0-flash-001", "gemini-1.5-flash", "gemini-1.5-flash-001", "gemini-1.5-flash-002", "gemini-1.5-pro", "gemini-1.5-pro-001", "gemini-1.5-pro-002", "gemini-1.0-pro-001", "gemini-1.0-pro-vision-001", "gemini-1.0-pro", "gemini-1.0-pro-002", "gemini-2.0-flash-lite-preview-02-05", "gemini-2.5-flash-preview-09-2025", "gemini-3-pro-preview", "gemini-3-pro-image-preview", "gemini-3-flash-preview", "gemini-3.1-pro-preview", "gemini-3.1-flash-image-preview", "gemini-3.1-flash-lite-preview", "gemini-2.0-pro-exp-02-05", "gemini-2.0-flash-exp"];
declare const imageModelIds: readonly ["gemini-2.5-flash-image", "gemini-3-pro-image-preview", "gemini-3.1-flash-image-preview", "gemini-nano-banana-2.1"];
declare const embeddingModelIds: readonly ["textembedding-gecko", "textembedding-gecko@001", "textembedding-gecko@003", "textembedding-gecko-multilingual", "textembedding-gecko-multilingual@001", "text-multilingual-embedding-002", "text-embedding-004", "text-embedding-005", "gemini-embedding-001", "gemini-embedding-2", "gemini-embedding-2-preview"];
declare const videoModelIds: readonly ["veo-2.0-generate-preview", "veo-2.0-generate-exp", "veo-2.0-generate-001", "veo-3.0-generate-001", "veo-3.0-fast-generate-001", "veo-3.0-generate-preview", "veo-3.0-fast-generate-preview", "veo-3.1-generate-001", "veo-3.1-fast-generate-001", "veo-3.1-generate-preview", "veo-3.1-fast-generate-preview"];
declare const speechModelIds: readonly ["gemini-2.5-flash-tts", "gemini-2.5-pro-tts", "gemini-2.5-flash-lite-preview-tts", "gemini-3.1-flash-tts-preview", "chirp-3-hd"];
declare const transcriptionModelIds: readonly ["chirp_2", "chirp_3", "telephony"];
declare const geminiTranscriptionModelIds: readonly ["gemini-3.5-transcribe", "gemini-3.5-transcribe-live"];
declare const vertexAnthropicModels: {
  'claude-fable-5-1': {
    image: boolean;
    objectGeneration: boolean;
    tools: boolean;
    streaming: boolean;
    computerUse: boolean;
  };
  'claude-fable-5-2': {
    image: boolean;
    objectGeneration: boolean;
    tools: boolean;
    streaming: boolean;
    computerUse: boolean;
  };
  'claude-3-7-sonnet@20250219': {
    image: boolean;
    objectGeneration: boolean;
    tools: boolean;
    streaming: boolean;
    computerUse: boolean;
  };
  'claude-3-5-sonnet-v2@20241022': {
    image: boolean;
    objectGeneration: boolean;
    tools: boolean;
    streaming: boolean;
    computerUse: boolean;
  };
  'claude-3-5-sonnet@20240620': {
    image: boolean;
    objectGeneration: boolean;
    tools: boolean;
    streaming: boolean;
    computerUse: boolean;
  };
  'claude-3-5-haiku@20241022': {
    image: boolean;
    objectGeneration: boolean;
    tools: boolean;
    streaming: boolean;
    computerUse: boolean;
  };
  'claude-3-sonnet@20240229': {
    image: boolean;
    objectGeneration: boolean;
    tools: boolean;
    streaming: boolean;
    computerUse: boolean;
  };
  'claude-3-haiku@20240307': {
    image: boolean;
    objectGeneration: boolean;
    tools: boolean;
    streaming: boolean;
    computerUse: boolean;
  };
  'claude-3-opus@20240229': {
    image: boolean;
    objectGeneration: boolean;
    tools: boolean;
    streaming: boolean;
    computerUse: boolean;
  };
  'claude-fable-5': undefined;
  'claude-haiku-5-5': undefined;
  'claude-opus-4-1@20250805': undefined;
  'claude-opus-4-5@20251101': undefined;
  'claude-opus-4-6': undefined;
  'claude-opus-4-7': undefined;
  'claude-opus-4-8': undefined;
  'claude-opus-4@20250514': undefined;
  'claude-opus-5': undefined;
  'claude-opus-5-5': undefined;
  'claude-sonnet-4-5@20250929': undefined;
  'claude-sonnet-4-6': undefined;
  'claude-sonnet-4@20250514': undefined;
  'claude-sonnet-5': undefined;
  'claude-sonnet-5-5': undefined;
};
declare const vertexXaiModels: {
  'xai/grok-4.20-reasoning': {
    reasoning: boolean;
  };
  'xai/grok-4.20-non-reasoning': {
    reasoning: boolean;
  };
  'xai/grok-4.1-fast-reasoning': {
    reasoning: boolean;
  };
  'xai/grok-4.1-fast-non-reasoning': {
    reasoning: boolean;
  };
};
declare const vertexMaasModels: {
  'deepseek-ai/deepseek-r1-0528-maas': {
    publisher: string;
  };
  'deepseek-ai/deepseek-v3.1-maas': {
    publisher: string;
  };
  'deepseek-ai/deepseek-v3.2-maas': {
    publisher: string;
  };
  'openai/gpt-oss-120b-maas': {
    publisher: string;
  };
  'openai/gpt-oss-20b-maas': {
    publisher: string;
  };
  'meta/llama-4-maverick-17b-128e-instruct-maas': {
    publisher: string;
  };
  'meta/llama-4-scout-17b-16e-instruct-maas': {
    publisher: string;
  };
  'minimax/minimax-m2-maas': {
    publisher: string;
  };
  'qwen/qwen3-coder-480b-a35b-instruct-maas': {
    publisher: string;
  };
  'qwen/qwen3-next-80b-a3b-instruct-maas': {
    publisher: string;
  };
  'qwen/qwen3-next-80b-a3b-thinking-maas': {
    publisher: string;
  };
  'moonshotai/kimi-k2-thinking-maas': {
    publisher: string;
  };
};
/** Known model IDs, derived from the declarations used to build the catalog. */
type GoogleVertexModelIds = {
  language: (typeof languageModelIds)[number];
  image: (typeof imageModelIds)[number];
  embedding: (typeof embeddingModelIds)[number];
  video: (typeof videoModelIds)[number];
  speech: (typeof speechModelIds)[number];
  transcription: (typeof transcriptionModelIds)[number];
  geminiTranscription: (typeof geminiTranscriptionModelIds)[number];
  anthropic: keyof typeof vertexAnthropicModels;
  xai: keyof typeof vertexXaiModels;
  maas: keyof typeof vertexMaasModels;
};
//#endregion
//#region src/google-vertex-embedding-model-options.d.ts
type GoogleVertexEmbeddingModelId = GoogleVertexModelIds['embedding'] | (string & {});
//#endregion
//#region src/google-vertex-config.d.ts
interface GoogleVertexConfig {
  provider: string;
  baseURL: string;
  headers?: Resolvable<Record<string, string | undefined>>;
  fetch?: FetchFunction;
}
//#endregion
//#region src/google-vertex-embedding-model.d.ts
declare class GoogleVertexEmbeddingModel implements EmbeddingModelV4 {
  readonly specificationVersion = "v4";
  readonly modelId: GoogleVertexEmbeddingModelId;
  readonly supportsParallelCalls = true;
  private readonly config;
  static [WORKFLOW_SERIALIZE](model: GoogleVertexEmbeddingModel): {
    modelId: string;
    config: import("@ai-sdk/provider").JSONObject;
  };
  static [WORKFLOW_DESERIALIZE](options: {
    modelId: string;
    config: GoogleVertexConfig;
  }): GoogleVertexEmbeddingModel;
  get provider(): string;
  get maxEmbeddingsPerCall(): number;
  constructor(modelId: GoogleVertexEmbeddingModelId, config: GoogleVertexConfig);
  doEmbed({ values, dimensions, headers, abortSignal, providerOptions }: Parameters<EmbeddingModelV4['doEmbed']>[0]): Promise<Awaited<ReturnType<EmbeddingModelV4['doEmbed']>>>;
}
//#endregion
//#region src/google-vertex-image-settings.d.ts
type GoogleVertexImageModelId = GoogleVertexModelIds['image'] | (string & {});
//#endregion
//#region src/google-vertex-options.d.ts
type GoogleVertexModelId = GoogleVertexModelIds['language'] | (string & {});
//#endregion
//#region src/google-vertex-tools.d.ts
declare const googleVertexTools: {
  googleSearch: import("@ai-sdk/provider-utils").ProviderExecutedToolFactory<{}, {}, {
    [x: string]: unknown;
    searchTypes?: {
      webSearch?: Record<string, never> | undefined;
      imageSearch?: Record<string, never> | undefined;
    } | undefined;
    timeRangeFilter?: {
      startTime: string;
      endTime: string;
    } | undefined;
  }, {}>;
  enterpriseWebSearch: import("@ai-sdk/provider-utils").ProviderExecutedToolFactory<{}, {}, {}, {}>;
  googleMaps: import("@ai-sdk/provider-utils").ProviderExecutedToolFactory<{}, {}, {}, {}>;
  urlContext: import("@ai-sdk/provider-utils").ProviderExecutedToolFactory<{}, {}, {}, {}>;
  fileSearch: import("@ai-sdk/provider-utils").ProviderExecutedToolFactory<{}, {}, {
    [x: string]: unknown;
    fileSearchStoreNames: string[];
    topK?: number | undefined;
    metadataFilter?: string | undefined;
  }, {}>;
  codeExecution: import("@ai-sdk/provider-utils").ProviderExecutedToolFactory<{
    language: string;
    code: string;
  }, {
    outcome: string;
    output: string;
  }, {}, {}>;
  vertexRagStore: import("@ai-sdk/provider-utils").ProviderExecutedToolFactory<{}, {}, {
    ragCorpus: string;
    topK?: number;
  }, {}>;
};
//#endregion
//#region src/google-vertex-transcription-model-options.d.ts
type GoogleVertexTranscriptionModelId = GoogleVertexModelIds['transcription'] | (string & {});
//#endregion
//#region src/google-vertex-video-settings.d.ts
type GoogleVertexVideoModelId = GoogleVertexModelIds['video'] | (string & {});
//#endregion
//#region src/google-vertex-speech-model-options.d.ts
type GoogleVertexSpeechModelId = GoogleVertexModelIds['speech'] | (string & {});
//#endregion
//#region src/google-vertex-provider-base.d.ts
interface GoogleVertexProvider extends ProviderV4 {
  /**
   * Creates a model for text generation.
   */
  (modelId: GoogleVertexModelId): LanguageModelV4;
  languageModel: (modelId: GoogleVertexModelId) => LanguageModelV4;
  /**
   * Creates a language model targeting the Gemini Interactions API
   * (`.../locations/{region}/interactions`) on Vertex, reusing the Vertex
   * OAuth credentials. Pass a model id (e.g. `gemini-omni-flash-preview`) or an
   * `{ agent }` / `{ managedAgent }` reference.
   */
  interactions(modelIdOrAgent: GoogleInteractionsModelId | {
    agent: GoogleInteractionsAgentName;
  } | {
    managedAgent: string;
  }): LanguageModelV4;
  /**
   * Creates a model for image generation.
   */
  image(modelId: GoogleVertexImageModelId): ImageModelV4;
  /**
   * Creates a model for image generation.
   */
  imageModel(modelId: GoogleVertexImageModelId): ImageModelV4;
  tools: typeof googleVertexTools;
  /**
   * @deprecated Use `embeddingModel` instead.
   */
  textEmbeddingModel(modelId: GoogleVertexEmbeddingModelId): GoogleVertexEmbeddingModel;
  /**
   * Creates a model for video generation.
   */
  video(modelId: GoogleVertexVideoModelId): Experimental_VideoModelV4;
  /**
   * Creates a model for video generation.
   */
  videoModel(modelId: GoogleVertexVideoModelId): Experimental_VideoModelV4;
  /**
   * Creates a model for speech generation (text-to-speech).
   */
  speech(modelId: GoogleVertexSpeechModelId): SpeechModelV4;
  /**
   * Creates a model for speech generation (text-to-speech).
   */
  speechModel(modelId: GoogleVertexSpeechModelId): SpeechModelV4;
  /**
   * Creates a model for transcription (speech-to-text).
   */
  transcription(modelId: GoogleVertexTranscriptionModelId): TranscriptionModelV4;
  /**
   * Creates a model for transcription (speech-to-text).
   */
  transcriptionModel(modelId: GoogleVertexTranscriptionModelId): TranscriptionModelV4;
}
interface GoogleVertexProviderSettings$1 {
  /**
   * Optional. The API key for the Google Cloud project. If provided, the
   * provider will use express mode with API key authentication. Defaults to
   * the value of the `GOOGLE_VERTEX_API_KEY` environment variable.
   * A callback is resolved before each request and must return a non-empty key.
   */
  apiKey?: Resolvable<string>;
  /**
   * Your Google Vertex location. Defaults to the environment variable `GOOGLE_VERTEX_LOCATION`.
   */
  location?: string;
  /**
   * Your Google Vertex project. Defaults to the environment variable `GOOGLE_VERTEX_PROJECT`.
   */
  project?: string;
  /**
   * Headers to use for requests. Can be:
   * - A headers object
   * - A Promise that resolves to a headers object
   * - A function that returns a headers object
   * - A function that returns a Promise of a headers object
   */
  headers?: Resolvable<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;
  generateId?: () => string;
  /**
   * Base URL for the Google Vertex API calls.
   */
  baseURL?: string;
  /**
   * Custom WebSocket implementation for streaming transcription. Useful for
   * runtimes that need a WebSocket constructor with header support (e.g. the
   * `ws` package in Node.js, which Vertex's OAuth Bearer header requires).
   */
  webSocket?: WebSocketConstructor;
  /**
   * Settings for downloading remote files in tool results before sending them
   * to Vertex as inline data.
   */
  toolResultDownloads?: {
    /**
     * Maximum size in bytes for each downloaded file. Defaults to 7 MiB.
     */
    maxBytes?: number;
  };
}
//#endregion
//#region src/edge/google-vertex-auth-edge.d.ts
interface GoogleCredentials {
  /**
   * The client email for the Google Cloud service account. Defaults to the
   * value of the `GOOGLE_CLIENT_EMAIL` environment variable.
   */
  clientEmail: string;
  /**
   * The private key for the Google Cloud service account. Defaults to the
   * value of the `GOOGLE_PRIVATE_KEY` environment variable.
   */
  privateKey: string;
  /**
   * Optional. The private key ID for the Google Cloud service account. Defaults
   * to the value of the `GOOGLE_PRIVATE_KEY_ID` environment variable.
   */
  privateKeyId?: string;
}
//#endregion
//#region src/edge/google-vertex-provider-edge.d.ts
interface GoogleVertexProviderSettings extends GoogleVertexProviderSettings$1 {
  /**
   * Optional. The Google credentials for the Google Cloud service account. If
   * not provided, the Google Vertex provider will use environment variables to
   * load the credentials.
   */
  googleCredentials?: GoogleCredentials;
}
export declare function createGoogleVertex(options?: GoogleVertexProviderSettings): GoogleVertexProvider;
/**
 * Default Google Vertex AI provider instance.
 */
export declare const googleVertex: GoogleVertexProvider;
//#endregion
export { type GoogleVertexProvider, type GoogleVertexProviderSettings, createGoogleVertex as createVertex, googleVertex as vertex };
//# sourceMappingURL=index.d.ts.map