import { z } from 'zod';
export declare const XAIMessageSchema: z.ZodObject<{
    role: z.ZodEnum<["user", "assistant", "system"]>;
    content: z.ZodString;
}, "strip", z.ZodTypeAny, {
    role: "user" | "assistant" | "system";
    content: string;
}, {
    role: "user" | "assistant" | "system";
    content: string;
}>;
export declare const SearchSourceSchema: z.ZodObject<{
    type: z.ZodEnum<["web", "x", "news", "rss"]>;
    country: z.ZodOptional<z.ZodString>;
    excluded_websites: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    safe_search: z.ZodOptional<z.ZodBoolean>;
    x_handles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    links: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    type: "web" | "x" | "news" | "rss";
    country?: string | undefined;
    excluded_websites?: string[] | undefined;
    safe_search?: boolean | undefined;
    x_handles?: string[] | undefined;
    links?: string[] | undefined;
}, {
    type: "web" | "x" | "news" | "rss";
    country?: string | undefined;
    excluded_websites?: string[] | undefined;
    safe_search?: boolean | undefined;
    x_handles?: string[] | undefined;
    links?: string[] | undefined;
}>;
export declare const SearchParametersSchema: z.ZodObject<{
    mode: z.ZodDefault<z.ZodEnum<["auto", "on", "off"]>>;
    sources: z.ZodOptional<z.ZodArray<z.ZodObject<{
        type: z.ZodEnum<["web", "x", "news", "rss"]>;
        country: z.ZodOptional<z.ZodString>;
        excluded_websites: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        safe_search: z.ZodOptional<z.ZodBoolean>;
        x_handles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        links: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        type: "web" | "x" | "news" | "rss";
        country?: string | undefined;
        excluded_websites?: string[] | undefined;
        safe_search?: boolean | undefined;
        x_handles?: string[] | undefined;
        links?: string[] | undefined;
    }, {
        type: "web" | "x" | "news" | "rss";
        country?: string | undefined;
        excluded_websites?: string[] | undefined;
        safe_search?: boolean | undefined;
        x_handles?: string[] | undefined;
        links?: string[] | undefined;
    }>, "many">>;
    return_citations: z.ZodOptional<z.ZodBoolean>;
    from_date: z.ZodOptional<z.ZodString>;
    to_date: z.ZodOptional<z.ZodString>;
    max_search_results: z.ZodDefault<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    mode: "auto" | "on" | "off";
    max_search_results: number;
    sources?: {
        type: "web" | "x" | "news" | "rss";
        country?: string | undefined;
        excluded_websites?: string[] | undefined;
        safe_search?: boolean | undefined;
        x_handles?: string[] | undefined;
        links?: string[] | undefined;
    }[] | undefined;
    return_citations?: boolean | undefined;
    from_date?: string | undefined;
    to_date?: string | undefined;
}, {
    mode?: "auto" | "on" | "off" | undefined;
    sources?: {
        type: "web" | "x" | "news" | "rss";
        country?: string | undefined;
        excluded_websites?: string[] | undefined;
        safe_search?: boolean | undefined;
        x_handles?: string[] | undefined;
        links?: string[] | undefined;
    }[] | undefined;
    return_citations?: boolean | undefined;
    from_date?: string | undefined;
    to_date?: string | undefined;
    max_search_results?: number | undefined;
}>;
export declare const XAIChatCompletionSchema: z.ZodObject<{
    id: z.ZodString;
    object: z.ZodLiteral<"chat.completion">;
    created: z.ZodNumber;
    model: z.ZodString;
    choices: z.ZodArray<z.ZodObject<{
        index: z.ZodNumber;
        message: z.ZodObject<{
            role: z.ZodEnum<["user", "assistant", "system"]>;
            content: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            role: "user" | "assistant" | "system";
            content: string;
        }, {
            role: "user" | "assistant" | "system";
            content: string;
        }>;
        finish_reason: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        message: {
            role: "user" | "assistant" | "system";
            content: string;
        };
        index: number;
        finish_reason?: string | undefined;
    }, {
        message: {
            role: "user" | "assistant" | "system";
            content: string;
        };
        index: number;
        finish_reason?: string | undefined;
    }>, "many">;
    usage: z.ZodObject<{
        prompt_tokens: z.ZodNumber;
        completion_tokens: z.ZodNumber;
        total_tokens: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        prompt_tokens: number;
        completion_tokens: number;
        total_tokens: number;
    }, {
        prompt_tokens: number;
        completion_tokens: number;
        total_tokens: number;
    }>;
    citations: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    object: "chat.completion";
    id: string;
    created: number;
    model: string;
    choices: {
        message: {
            role: "user" | "assistant" | "system";
            content: string;
        };
        index: number;
        finish_reason?: string | undefined;
    }[];
    usage: {
        prompt_tokens: number;
        completion_tokens: number;
        total_tokens: number;
    };
    citations?: string[] | undefined;
}, {
    object: "chat.completion";
    id: string;
    created: number;
    model: string;
    choices: {
        message: {
            role: "user" | "assistant" | "system";
            content: string;
        };
        index: number;
        finish_reason?: string | undefined;
    }[];
    usage: {
        prompt_tokens: number;
        completion_tokens: number;
        total_tokens: number;
    };
    citations?: string[] | undefined;
}>;
export declare const XAIApiErrorSchema: z.ZodObject<{
    error: z.ZodObject<{
        message: z.ZodString;
        type: z.ZodOptional<z.ZodString>;
        code: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        message: string;
        code?: string | undefined;
        type?: string | undefined;
    }, {
        message: string;
        code?: string | undefined;
        type?: string | undefined;
    }>;
}, "strip", z.ZodTypeAny, {
    error: {
        message: string;
        code?: string | undefined;
        type?: string | undefined;
    };
}, {
    error: {
        message: string;
        code?: string | undefined;
        type?: string | undefined;
    };
}>;
export declare const XAIConfigSchema: z.ZodObject<{
    apiKey: z.ZodString;
    baseUrl: z.ZodDefault<z.ZodString>;
    model: z.ZodDefault<z.ZodString>;
    maxTokens: z.ZodDefault<z.ZodNumber>;
    temperature: z.ZodDefault<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    model: string;
    apiKey: string;
    baseUrl: string;
    maxTokens: number;
    temperature: number;
}, {
    apiKey: string;
    model?: string | undefined;
    baseUrl?: string | undefined;
    maxTokens?: number | undefined;
    temperature?: number | undefined;
}>;
export declare const LiveSearchParamsSchema: z.ZodObject<{
    query: z.ZodString;
    mode: z.ZodDefault<z.ZodEnum<["auto", "on", "off"]>>;
    sources: z.ZodOptional<z.ZodArray<z.ZodEnum<["web", "x", "news", "rss"]>, "many">>;
    maxResults: z.ZodDefault<z.ZodNumber>;
    returnCitations: z.ZodDefault<z.ZodBoolean>;
    fromDate: z.ZodOptional<z.ZodString>;
    toDate: z.ZodOptional<z.ZodString>;
    country: z.ZodOptional<z.ZodString>;
    excludedWebsites: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    safeSearch: z.ZodDefault<z.ZodBoolean>;
    xHandles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    rssLinks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    mode: "auto" | "on" | "off";
    query: string;
    maxResults: number;
    returnCitations: boolean;
    safeSearch: boolean;
    country?: string | undefined;
    sources?: ("web" | "x" | "news" | "rss")[] | undefined;
    fromDate?: string | undefined;
    toDate?: string | undefined;
    excludedWebsites?: string[] | undefined;
    xHandles?: string[] | undefined;
    rssLinks?: string[] | undefined;
}, {
    query: string;
    country?: string | undefined;
    mode?: "auto" | "on" | "off" | undefined;
    sources?: ("web" | "x" | "news" | "rss")[] | undefined;
    maxResults?: number | undefined;
    returnCitations?: boolean | undefined;
    fromDate?: string | undefined;
    toDate?: string | undefined;
    excludedWebsites?: string[] | undefined;
    safeSearch?: boolean | undefined;
    xHandles?: string[] | undefined;
    rssLinks?: string[] | undefined;
}>;
export declare const ChatWithSearchParamsSchema: z.ZodObject<{
    message: z.ZodString;
    searchMode: z.ZodDefault<z.ZodEnum<["auto", "on", "off"]>>;
    sources: z.ZodOptional<z.ZodArray<z.ZodEnum<["web", "x", "news", "rss"]>, "many">>;
    returnCitations: z.ZodDefault<z.ZodBoolean>;
    maxSearchResults: z.ZodDefault<z.ZodNumber>;
    fromDate: z.ZodOptional<z.ZodString>;
    toDate: z.ZodOptional<z.ZodString>;
    country: z.ZodOptional<z.ZodString>;
    excludedWebsites: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    safeSearch: z.ZodDefault<z.ZodBoolean>;
    xHandles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    rssLinks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    message: string;
    returnCitations: boolean;
    safeSearch: boolean;
    searchMode: "auto" | "on" | "off";
    maxSearchResults: number;
    country?: string | undefined;
    sources?: ("web" | "x" | "news" | "rss")[] | undefined;
    fromDate?: string | undefined;
    toDate?: string | undefined;
    excludedWebsites?: string[] | undefined;
    xHandles?: string[] | undefined;
    rssLinks?: string[] | undefined;
}, {
    message: string;
    country?: string | undefined;
    sources?: ("web" | "x" | "news" | "rss")[] | undefined;
    returnCitations?: boolean | undefined;
    fromDate?: string | undefined;
    toDate?: string | undefined;
    excludedWebsites?: string[] | undefined;
    safeSearch?: boolean | undefined;
    xHandles?: string[] | undefined;
    rssLinks?: string[] | undefined;
    searchMode?: "auto" | "on" | "off" | undefined;
    maxSearchResults?: number | undefined;
}>;
export interface XAILiveSearchResponse {
    response: string;
    citations: string[];
    usage: {
        prompt_tokens: number;
        completion_tokens: number;
        total_tokens: number;
    };
}
export interface XAIChatResponse {
    response: string;
    citations: string[];
    usage: {
        prompt_tokens: number;
        completion_tokens: number;
        total_tokens: number;
    };
}
export type XAIMessage = z.infer<typeof XAIMessageSchema>;
export type SearchSource = z.infer<typeof SearchSourceSchema>;
export type SearchParameters = z.infer<typeof SearchParametersSchema>;
export type XAIChatCompletion = z.infer<typeof XAIChatCompletionSchema>;
export type XAIApiError = z.infer<typeof XAIApiErrorSchema>;
export type XAIConfig = z.infer<typeof XAIConfigSchema>;
export type LiveSearchParams = z.infer<typeof LiveSearchParamsSchema>;
export type ChatWithSearchParams = z.infer<typeof ChatWithSearchParamsSchema>;
//# sourceMappingURL=types.d.ts.map