type Snippet = { snippet: string; htmlSnippet: string; }; type PageMap = { cse_thumbnail: { src: string; height: string; width: string; }[]; cse_image: { src: string; }[]; metatags: { [key: string]: string; }[]; }; export type SearchResultDocument = { id: string; name: string; derivedStructData: { formattedUrl: string; htmlTitle: string; link: string; displayLink: string; snippets: Snippet[]; title: string; pagemap: PageMap; htmlFormattedUrl: string; }; }; export type Result = { id: string; document: SearchResultDocument; }; export type SearchSessionInfo = { name: string; queryId: string; }; export type SearchResultResponse = { results?: Result[]; totalSize?: number; attributionToken: string; nextPageToken?: string; correctedQuery?: string; guidedSearchResult?: Record; summary?: Record; queryExpansionInfo?: Record; sessionInfo: SearchSessionInfo; }; export type Answer = { name: string; state: AnswerState; answerText: string; processedText?: string; citation_map?: Record; citations?: Citation[]; references?: Reference[]; relatedQuestions?: string[]; steps?: Step[]; queryUnderstandingInfo?: { queryClassificationInfo?: QueryClassificationInfo[]; }; }; export type AnswerQueryResponse = { answer: Answer; session: { name: string; state: AnswerState; turns?: Turn[]; startTime?: string; endTime?: string; }; answerQueryToken: string; }; export declare enum AnswerState { STATE_UNSPECIFIED = "STATE_UNSPECIFIED", IN_PROGRESS = "IN_PROGRESS", FAILED = "FAILED", SUCCEEDED = "SUCCEEDED", STREAMING = "STREAMING" } export type QueryClassificationInfo = { type: QueryClassificationType; positive: boolean; }; export declare enum QueryClassificationType { TYPE_UNSPECIFIED = "TYPE_UNSPECIFIED", ADVERSARIAL_QUERY = "ADVERSARIAL_QUERY", NON_ANSWER_SEEKING_QUERY = "NON_ANSWER_SEEKING_QUERY", JAIL_BREAKING_QUERY = "JAIL_BREAKING_QUERY", NON_ANSWER_SEEKING_QUERY_V2 = "NON_ANSWER_SEEKING_QUERY_V2" } export type Citation = { startIndex: string; endIndex: string; sources: [ { referenceId: string; } ]; }; export type Turn = { query: { queryId: string; text: string; }; answer: string; }; export type Reference = { chunkInfo: ChunkInfo; } | { structuredDocumentInfo: StructuredDocumentInfo; }; export type Observation = { searchResults: SearchResult[]; }; export type SnippetInfo = { snippet: string; snippetStatus: string; }; export type SearchResult = { document: string; uri: string; title: string; snippetInfo: SnippetInfo[]; chunkInfo: { chunk: string; content: string; relevanceScore: number; }[]; structData: Record; }; export type Step = { state: AnswerState; description: string; actions: { searchAction: { query: string; }; observation: Observation; }[]; }; export type DocumentMetadata = { document: string; uri: string; title: string; }; export type ChunkInfo = { content: string; relevanceScore: number; documentMetadata: DocumentMetadata; }; export type StructuredDocumentInfo = DocumentMetadata & { structData: Record; }; export type AiSearchResponse = { results: Result[]; totalSize: number; answer: Answer | null; sessionId: string; }; export {}; //# sourceMappingURL=google-ai-search.d.ts.map