import { ModelProvider } from "./model_provider.cjs";
import { ModelProviderID } from "../data/model_data.cjs";
import { ProviderStreamEvent, ResponseInput, AgentDefinition } from "../types/types.cjs";
export declare abstract class BaseModelProvider implements ModelProvider {
    protected providerId: ModelProviderID;
    provider_id: string;
    constructor(providerId: ModelProviderID);
    abstract createResponseStream(messages: ResponseInput, model: string, agent: AgentDefinition): AsyncGenerator<ProviderStreamEvent>;
    createResponseStreamWithRetry(messages: ResponseInput, model: string, agent: AgentDefinition): AsyncGenerator<ProviderStreamEvent>;
    protected isValidBase64(str: string): boolean;
    protected detectImageType(base64Data: string): string | null;
}
//# sourceMappingURL=base_provider.d.ts.map