export type AIProviderType = 'openai' | 'deepseek' | 'anthropic' | 'gemini';
export interface AIProvider {
    provider: AIProviderType;
    apiKey: string;
    model: string;
    baseURL?: string;
}
export interface ReviewTrigger {
    on: 'pull_request' | 'merge_request' | 'push';
    actions?: string[];
}
export interface ReviewRule {
    enabled: boolean;
    pattern?: string;
    prompt: string;
    filePatterns?: string[];
}
export interface CustomReviewPoint {
    name: string;
    prompt: string;
}
export interface Config {
    ai: AIProvider;
    triggers: ReviewTrigger[];
    rules: {
        commitMessage: ReviewRule;
        branchName: ReviewRule;
        codeChanges: ReviewRule;
    };
    customReviewPoints?: CustomReviewPoint[];
}
export interface ReviewResult {
    success: boolean;
    message: string;
    suggestions: Array<{
        message: string;
        severity: 'info' | 'warning' | 'error';
        file?: string;
        line?: number;
    }>;
    errors: Array<{
        message: string;
        file?: string;
        line?: number;
    }>;
}
export interface AIProviderConfig {
    apiKey: string;
    provider: AIProviderType;
    baseURL?: string;
    model: string;
    defaultHeaders?: Record<string, string>;
    timeout?: number;
}
export interface IAIProvider {
    review(prompt: string, content: string): Promise<string>;
}
export interface AIEnvConfig {
    [key: string]: {
        envKey: string;
        defaultBaseURL?: string;
        defaultModel?: string;
    };
}
export declare const AI_PROVIDER_CONFIG: AIEnvConfig;
