import * as z from "zod/v4";
import * as discriminatedUnionTypes from "../types/discriminatedUnion.js";
import { ClosedEnum } from "../types/enums.js";
import { Result as SafeParseResult } from "../types/fp.js";
import { SDKValidationError } from "./errors/sdkvalidationerror.js";
import { WebSearchSource, WebSearchSource$Outbound } from "./websearchsource.js";
import { WebSearchStatus } from "./websearchstatus.js";
export type ActionFindInPage = {
    pattern: string;
    type: "find_in_page";
    url: string;
};
export type ActionOpenPage = {
    type: "open_page";
    url?: string | null | undefined;
};
export type OutputWebSearchCallItemActionSearch = {
    queries?: Array<string> | undefined;
    query: string;
    sources?: Array<WebSearchSource> | undefined;
    type: "search";
};
export type Action = OutputWebSearchCallItemActionSearch | ActionOpenPage | ActionFindInPage | discriminatedUnionTypes.Unknown<"type">;
export declare const TypeWebSearchCall: {
    readonly WebSearchCall: "web_search_call";
};
export type TypeWebSearchCall = ClosedEnum<typeof TypeWebSearchCall>;
export type OutputWebSearchCallItem = {
    action?: OutputWebSearchCallItemActionSearch | ActionOpenPage | ActionFindInPage | discriminatedUnionTypes.Unknown<"type"> | undefined;
    id: string;
    status: WebSearchStatus;
    type: TypeWebSearchCall;
    additionalProperties?: {
        [k: string]: any;
    } | undefined;
};
/** @internal */
export declare const ActionFindInPage$inboundSchema: z.ZodType<ActionFindInPage, unknown>;
/** @internal */
export type ActionFindInPage$Outbound = {
    pattern: string;
    type: "find_in_page";
    url: string;
};
/** @internal */
export declare const ActionFindInPage$outboundSchema: z.ZodType<ActionFindInPage$Outbound, ActionFindInPage>;
export declare function actionFindInPageToJSON(actionFindInPage: ActionFindInPage): string;
export declare function actionFindInPageFromJSON(jsonString: string): SafeParseResult<ActionFindInPage, SDKValidationError>;
/** @internal */
export declare const ActionOpenPage$inboundSchema: z.ZodType<ActionOpenPage, unknown>;
/** @internal */
export type ActionOpenPage$Outbound = {
    type: "open_page";
    url?: string | null | undefined;
};
/** @internal */
export declare const ActionOpenPage$outboundSchema: z.ZodType<ActionOpenPage$Outbound, ActionOpenPage>;
export declare function actionOpenPageToJSON(actionOpenPage: ActionOpenPage): string;
export declare function actionOpenPageFromJSON(jsonString: string): SafeParseResult<ActionOpenPage, SDKValidationError>;
/** @internal */
export declare const OutputWebSearchCallItemActionSearch$inboundSchema: z.ZodType<OutputWebSearchCallItemActionSearch, unknown>;
/** @internal */
export type OutputWebSearchCallItemActionSearch$Outbound = {
    queries?: Array<string> | undefined;
    query: string;
    sources?: Array<WebSearchSource$Outbound> | undefined;
    type: "search";
};
/** @internal */
export declare const OutputWebSearchCallItemActionSearch$outboundSchema: z.ZodType<OutputWebSearchCallItemActionSearch$Outbound, OutputWebSearchCallItemActionSearch>;
export declare function outputWebSearchCallItemActionSearchToJSON(outputWebSearchCallItemActionSearch: OutputWebSearchCallItemActionSearch): string;
export declare function outputWebSearchCallItemActionSearchFromJSON(jsonString: string): SafeParseResult<OutputWebSearchCallItemActionSearch, SDKValidationError>;
/** @internal */
export declare const Action$inboundSchema: z.ZodType<Action, unknown>;
/** @internal */
export type Action$Outbound = OutputWebSearchCallItemActionSearch$Outbound | ActionOpenPage$Outbound | ActionFindInPage$Outbound;
/** @internal */
export declare const Action$outboundSchema: z.ZodType<Action$Outbound, Action>;
export declare function actionToJSON(action: Action): string;
export declare function actionFromJSON(jsonString: string): SafeParseResult<Action, SDKValidationError>;
/** @internal */
export declare const TypeWebSearchCall$inboundSchema: z.ZodEnum<typeof TypeWebSearchCall>;
/** @internal */
export declare const TypeWebSearchCall$outboundSchema: z.ZodEnum<typeof TypeWebSearchCall>;
/** @internal */
export declare const OutputWebSearchCallItem$inboundSchema: z.ZodType<OutputWebSearchCallItem, unknown>;
/** @internal */
export type OutputWebSearchCallItem$Outbound = {
    action?: OutputWebSearchCallItemActionSearch$Outbound | ActionOpenPage$Outbound | ActionFindInPage$Outbound | undefined;
    id: string;
    status: string;
    type: string;
    [additionalProperties: string]: unknown;
};
/** @internal */
export declare const OutputWebSearchCallItem$outboundSchema: z.ZodType<OutputWebSearchCallItem$Outbound, OutputWebSearchCallItem>;
export declare function outputWebSearchCallItemToJSON(outputWebSearchCallItem: OutputWebSearchCallItem): string;
export declare function outputWebSearchCallItemFromJSON(jsonString: string): SafeParseResult<OutputWebSearchCallItem, SDKValidationError>;
//# sourceMappingURL=outputwebsearchcallitem.d.ts.map