import { ReviewConfig, IAIProvider } from '../../types/review.types';
import ora from 'ora';
import { GitPlatformDetails, IGitPlatformService } from '../../services/services.types';
import { VcsProvider } from '../../utils/git-service.interface';
import { CodeReviewResult } from '../../providers/provider.types';
export interface ReviewResults {
    branchName?: CodeReviewResult[];
    commitMessages?: CodeReviewResult[];
    codeChanges?: CodeReviewResult[];
}
export interface ReviewContext {
    aiProvider: IAIProvider;
    config: ReviewConfig;
    vcs: VcsProvider;
    gitService?: IGitPlatformService;
    prDetails?: GitPlatformDetails;
    spinner: ora.Ora;
}
export interface ReviewCommandOptions {
    config: string;
    baseBranch?: string;
}
export declare function printSingleReviewResult(result: CodeReviewResult): void;
export declare function formatReviewResultsAsMarkdown(results: CodeReviewResult[], context?: {
    type?: string;
    branchName?: string;
    commits?: any[];
    prDetails?: any;
}): string;
export declare function outputReviewResults(context: ReviewContext, results: ReviewResults, extraContext?: {
    branchName?: string;
    commits?: any[];
}): Promise<void>;
export declare function outputToCIPlatform(context: ReviewContext, results: ReviewResults, extraContext?: {
    branchName?: string;
    commits?: any[];
}): Promise<void>;
export declare function outputToTerminal(results: ReviewResults, extraContext?: {
    branchName?: string;
    commits?: any[];
    prDetails?: any;
}): Promise<void>;
export declare function printReviewResultsToTerminal(results: CodeReviewResult[], context?: {
    type?: string;
    branchName?: string;
    commits?: any[];
    prDetails?: any;
}): void;
