import { ModelProvider } from "@maiar-ai/core";
export type ProviderType = "openai" | "anthropic" | "deepseek" | "mistral" | "gemini" | "agent-ai" | "runway" | "midjourney" | "elsevier" | "unity" | "nvidia" | "harmonai" | "audiocraft";
export interface BaseProviderConfig {
    apiKey: string;
    model: string;
}
export interface OpenAIConfig extends BaseProviderConfig {
}
export interface AnthropicConfig extends BaseProviderConfig {
}
export interface DeepseekConfig extends BaseProviderConfig {
}
export interface MistralConfig extends BaseProviderConfig {
}
export interface GeminiConfig extends BaseProviderConfig {
}
export interface AgentAIConfig extends BaseProviderConfig {
    agentId: string;
}
export interface RunwayConfig extends BaseProviderConfig {
}
export interface MidjourneyConfig extends BaseProviderConfig {
}
export interface ElsevierConfig extends BaseProviderConfig {
    apiEndpoint: string;
}
export interface UnityConfig extends BaseProviderConfig {
}
export interface NvidiaConfig extends BaseProviderConfig {
}
export interface HarmonaiConfig extends BaseProviderConfig {
}
export interface AudiocraftConfig extends BaseProviderConfig {
}
export type ProviderConfig = {
    type: "openai";
    config: OpenAIConfig;
} | {
    type: "anthropic";
    config: AnthropicConfig;
} | {
    type: "deepseek";
    config: DeepseekConfig;
} | {
    type: "mistral";
    config: MistralConfig;
} | {
    type: "gemini";
    config: GeminiConfig;
} | {
    type: "agent-ai";
    config: AgentAIConfig;
} | {
    type: "runway";
    config: RunwayConfig;
} | {
    type: "midjourney";
    config: MidjourneyConfig;
} | {
    type: "elsevier";
    config: ElsevierConfig;
} | {
    type: "unity";
    config: UnityConfig;
} | {
    type: "nvidia";
    config: NvidiaConfig;
} | {
    type: "harmonai";
    config: HarmonaiConfig;
} | {
    type: "audiocraft";
    config: AudiocraftConfig;
};
export declare function createProvider(providerConfig: ProviderConfig): ModelProvider;
