import * as z from "zod/v4"; import { ClosedEnum } from "../types/enums.js"; import { WebSearchEngine } from "./websearchengine.js"; import { WebSearchMode } from "./websearchmode.js"; import { XSearchOptions, XSearchOptions$Outbound } from "./xsearchoptions.js"; export declare const WebSearchPluginType: { readonly Approximate: "approximate"; }; export type WebSearchPluginType = ClosedEnum; /** * Approximate user location for location-biased search results. Passed through to native providers that support it (e.g. Anthropic). */ export type UserLocation = { city?: string | null | undefined; country?: string | null | undefined; region?: string | null | undefined; timezone?: string | null | undefined; type: WebSearchPluginType; }; export type WebSearchPlugin = { /** * Set to false to disable the web-search plugin for this request. Defaults to true. */ enabled?: boolean | undefined; /** * The search engine to use for web search. */ engine?: WebSearchEngine | undefined; /** * A list of domains to exclude from web search results. Supports wildcards (e.g. "*.substack.com") and path filtering (e.g. "openai.com/blog"). */ excludeDomains?: Array | undefined; id: "web"; /** * A list of domains to restrict web search results to. Supports wildcards (e.g. "*.substack.com") and path filtering (e.g. "openai.com/blog"). */ includeDomains?: Array | undefined; maxResults?: number | undefined; /** * Maximum number of times the model can invoke web search in a single turn. Passed through to native providers that support it (e.g. Anthropic). */ maxUses?: number | undefined; /** * Engine-native search mode. Exa supports instant, fast, auto (default), deep-lite, deep, and deep-reasoning. Parallel supports turbo, fast, basic (default), and advanced. Modes unsupported by the selected engine are ignored. */ mode?: WebSearchMode | undefined; searchPrompt?: string | undefined; userLocation?: UserLocation | null | undefined; /** * Enable SpaceXAI X (Twitter) search alongside native web search, with optional filters. Only applies to SpaceXAI endpoints with native search; omit to search the web only. X search is billed separately by SpaceXAI, per post and per user profile fetched. */ xSearch?: XSearchOptions | undefined; }; /** @internal */ export declare const WebSearchPluginType$outboundSchema: z.ZodEnum; /** @internal */ export type UserLocation$Outbound = { city?: string | null | undefined; country?: string | null | undefined; region?: string | null | undefined; timezone?: string | null | undefined; type: string; }; /** @internal */ export declare const UserLocation$outboundSchema: z.ZodType; export declare function userLocationToJSON(userLocation: UserLocation): string; /** @internal */ export type WebSearchPlugin$Outbound = { enabled?: boolean | undefined; engine?: string | undefined; exclude_domains?: Array | undefined; id: "web"; include_domains?: Array | undefined; max_results?: number | undefined; max_uses?: number | undefined; mode?: string | undefined; search_prompt?: string | undefined; user_location?: UserLocation$Outbound | null | undefined; x_search?: XSearchOptions$Outbound | undefined; }; /** @internal */ export declare const WebSearchPlugin$outboundSchema: z.ZodType; export declare function webSearchPluginToJSON(webSearchPlugin: WebSearchPlugin): string; //# sourceMappingURL=websearchplugin.d.ts.map