import type { RAGMediaTranscriber, RAGOCRProvider } from "@absolutejs/ai";
type FetchLike = (input: RequestInfo | URL, init?: RequestInit | BunFetchRequestInit) => Promise<Response>;
export type OpenAITranscriptionConfig = {
    apiKey: string;
    baseUrl?: string;
    defaultModel?: string;
    fetch?: FetchLike;
    language?: string;
    prompt?: string;
};
export type OpenAICompatibleTranscriptionConfig = OpenAITranscriptionConfig & {
    baseUrl: string;
};
export type OpenAIOCRConfig = {
    apiKey: string;
    baseUrl?: string;
    defaultModel?: string;
    fetch?: FetchLike;
    prompt?: string;
};
export type OpenAICompatibleOCRConfig = OpenAIOCRConfig & {
    baseUrl: string;
};
export type GeminiOCRConfig = {
    apiKey: string;
    baseUrl?: string;
    defaultModel?: string;
    fetch?: FetchLike;
    prompt?: string;
};
export type OllamaOCRConfig = {
    baseUrl?: string;
    defaultModel?: string;
    fetch?: FetchLike;
    prompt?: string;
};
export type OllamaTranscriptionConfig = {
    baseUrl?: string;
    defaultModel?: string;
    fetch?: FetchLike;
    prompt?: string;
};
export type AnthropicOCRConfig = {
    apiKey: string;
    baseUrl?: string;
    defaultModel?: string;
    fetch?: FetchLike;
    prompt?: string;
};
export declare const anthropicOCR: (config: AnthropicOCRConfig) => RAGOCRProvider;
export declare const geminiOCR: (config: GeminiOCRConfig) => RAGOCRProvider;
export declare const ollamaOCR: (config?: OllamaOCRConfig) => RAGOCRProvider;
export declare const ollamaTranscriber: (config?: OllamaTranscriptionConfig) => RAGMediaTranscriber;
export declare const openaiCompatibleOCR: (config: OpenAICompatibleOCRConfig) => RAGOCRProvider;
export declare const openaiCompatibleTranscriber: (config: OpenAICompatibleTranscriptionConfig) => RAGMediaTranscriber;
export declare const openaiOCR: (config: OpenAIOCRConfig) => RAGOCRProvider;
export declare const openaiTranscriber: (config: OpenAITranscriptionConfig) => RAGMediaTranscriber;
export {};
