import { z } from 'zod'; import { RequestContext } from '../utils/index.js'; export declare const PerplexityChatCompletionRequestSchema: z.ZodObject<{ model: z.ZodEnum<["sonar", "sonar-pro", "sonar-reasoning", "sonar-reasoning-pro", "sonar-deep-research"]>; messages: z.ZodArray; content: z.ZodString; }, "strip", z.ZodTypeAny, { role: "system" | "user" | "assistant"; content: string; }, { role: "system" | "user" | "assistant"; content: string; }>, "many">; max_tokens: z.ZodOptional; temperature: z.ZodOptional; top_p: z.ZodOptional; top_k: z.ZodOptional; stream: z.ZodDefault>; presence_penalty: z.ZodOptional; frequency_penalty: z.ZodOptional; return_images: z.ZodOptional; return_related_questions: z.ZodOptional; response_format: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "json_object"; }, { type: "json_object"; }>>; web_search_options: z.ZodOptional>; search_domain_filter: z.ZodOptional>; search_recency_filter: z.ZodOptional>; search_after_date_filter: z.ZodOptional; search_before_date_filter: z.ZodOptional; }, "strip", z.ZodTypeAny, { search_context_size?: "low" | "medium" | "high" | undefined; search_domain_filter?: string[] | undefined; search_recency_filter?: "last_day" | "last_week" | "last_month" | "last_year" | undefined; search_after_date_filter?: string | undefined; search_before_date_filter?: string | undefined; }, { search_context_size?: "low" | "medium" | "high" | undefined; search_domain_filter?: string[] | undefined; search_recency_filter?: "last_day" | "last_week" | "last_month" | "last_year" | undefined; search_after_date_filter?: string | undefined; search_before_date_filter?: string | undefined; }>>; search_domain_filter: z.ZodOptional>; search_recency_filter: z.ZodOptional; search_after_date_filter: z.ZodOptional; search_before_date_filter: z.ZodOptional; search_mode: z.ZodOptional>; reasoning_effort: z.ZodOptional>; }, "strip", z.ZodTypeAny, { model: "sonar-reasoning-pro" | "sonar" | "sonar-pro" | "sonar-reasoning" | "sonar-deep-research"; messages: { role: "system" | "user" | "assistant"; content: string; }[]; stream: boolean; search_domain_filter?: string[] | undefined; search_recency_filter?: string | undefined; search_after_date_filter?: string | undefined; search_before_date_filter?: string | undefined; max_tokens?: number | undefined; temperature?: number | undefined; top_p?: number | undefined; top_k?: number | undefined; presence_penalty?: number | undefined; frequency_penalty?: number | undefined; return_images?: boolean | undefined; return_related_questions?: boolean | undefined; response_format?: { type: "json_object"; } | undefined; web_search_options?: { search_context_size?: "low" | "medium" | "high" | undefined; search_domain_filter?: string[] | undefined; search_recency_filter?: "last_day" | "last_week" | "last_month" | "last_year" | undefined; search_after_date_filter?: string | undefined; search_before_date_filter?: string | undefined; } | undefined; search_mode?: "web" | "academic" | undefined; reasoning_effort?: "low" | "medium" | "high" | undefined; }, { model: "sonar-reasoning-pro" | "sonar" | "sonar-pro" | "sonar-reasoning" | "sonar-deep-research"; messages: { role: "system" | "user" | "assistant"; content: string; }[]; search_domain_filter?: string[] | undefined; search_recency_filter?: string | undefined; search_after_date_filter?: string | undefined; search_before_date_filter?: string | undefined; max_tokens?: number | undefined; temperature?: number | undefined; top_p?: number | undefined; top_k?: number | undefined; stream?: boolean | undefined; presence_penalty?: number | undefined; frequency_penalty?: number | undefined; return_images?: boolean | undefined; return_related_questions?: boolean | undefined; response_format?: { type: "json_object"; } | undefined; web_search_options?: { search_context_size?: "low" | "medium" | "high" | undefined; search_domain_filter?: string[] | undefined; search_recency_filter?: "last_day" | "last_week" | "last_month" | "last_year" | undefined; search_after_date_filter?: string | undefined; search_before_date_filter?: string | undefined; } | undefined; search_mode?: "web" | "academic" | undefined; reasoning_effort?: "low" | "medium" | "high" | undefined; }>; export type PerplexityChatCompletionRequest = z.infer; declare const FinalResponsePayloadSchema: z.ZodObject<{ id: z.ZodString; model: z.ZodString; created: z.ZodNumber; usage: z.ZodObject<{ prompt_tokens: z.ZodNumber; completion_tokens: z.ZodNumber; total_tokens: z.ZodNumber; search_context_size: z.ZodOptional; citation_tokens: z.ZodOptional; num_search_queries: z.ZodOptional; reasoning_tokens: z.ZodOptional; }, "strip", z.ZodTypeAny, { prompt_tokens: number; completion_tokens: number; total_tokens: number; search_context_size?: string | undefined; citation_tokens?: number | undefined; num_search_queries?: number | undefined; reasoning_tokens?: number | undefined; }, { prompt_tokens: number; completion_tokens: number; total_tokens: number; search_context_size?: string | undefined; citation_tokens?: number | undefined; num_search_queries?: number | undefined; reasoning_tokens?: number | undefined; }>; object: z.ZodLiteral<"chat.completion">; choices: z.ZodArray; content: z.ZodString; }, "strip", z.ZodTypeAny, { role: "system" | "user" | "assistant"; content: string; }, { role: "system" | "user" | "assistant"; content: string; }>; delta: z.ZodOptional; content: z.ZodOptional; }, "strip", z.ZodTypeAny, { role?: string | undefined; content?: string | undefined; }, { role?: string | undefined; content?: string | undefined; }>>; }, "strip", z.ZodTypeAny, { message: { role: "system" | "user" | "assistant"; content: string; }; index: number; finish_reason: string; delta?: { role?: string | undefined; content?: string | undefined; } | undefined; }, { message: { role: "system" | "user" | "assistant"; content: string; }; index: number; finish_reason: string; delta?: { role?: string | undefined; content?: string | undefined; } | undefined; }>, "many">; citations: z.ZodOptional>; search_results: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; date?: string | undefined; }, { url: string; title: string; date?: string | undefined; }>, "many">>; }, "strip", z.ZodTypeAny, { object: "chat.completion"; model: string; usage: { prompt_tokens: number; completion_tokens: number; total_tokens: number; search_context_size?: string | undefined; citation_tokens?: number | undefined; num_search_queries?: number | undefined; reasoning_tokens?: number | undefined; }; id: string; created: number; choices: { message: { role: "system" | "user" | "assistant"; content: string; }; index: number; finish_reason: string; delta?: { role?: string | undefined; content?: string | undefined; } | undefined; }[]; citations?: string[] | undefined; search_results?: { url: string; title: string; date?: string | undefined; }[] | undefined; }, { object: "chat.completion"; model: string; usage: { prompt_tokens: number; completion_tokens: number; total_tokens: number; search_context_size?: string | undefined; citation_tokens?: number | undefined; num_search_queries?: number | undefined; reasoning_tokens?: number | undefined; }; id: string; created: number; choices: { message: { role: "system" | "user" | "assistant"; content: string; }; index: number; finish_reason: string; delta?: { role?: string | undefined; content?: string | undefined; } | undefined; }[]; citations?: string[] | undefined; search_results?: { url: string; title: string; date?: string | undefined; }[] | undefined; }>; export type PerplexityChatCompletionResponse = z.infer; declare class PerplexityApiService { private axiosInstance; private apiKey; constructor(); chatCompletion(requestData: PerplexityChatCompletionRequest, context: RequestContext): Promise; } export declare const perplexityApiService: PerplexityApiService; export {};