import { TmuxBridge } from './tmuxBridge';
export interface ProjectOrchestratorConfig {
    checkInterval?: number;
    maxRetries?: number;
    autoCreatePR?: boolean;
    credentials?: any;
}
export interface ProjectStatus {
    projectName: string;
    isComplete: boolean;
    qaApproved: boolean;
    readyForPR: boolean;
    prCreated: boolean;
    prUrl?: string;
    lastCheck: Date;
    retryCount: number;
}
export declare class ProjectOrchestrator {
    private bridge;
    private config;
    private monitoredProjects;
    private monitoringResourceId?;
    private isMonitoring;
    constructor(bridge: TmuxBridge, config?: ProjectOrchestratorConfig);
    addProject(projectName: string): Promise<void>;
    removeProject(projectName: string): Promise<void>;
    startMonitoring(): void;
    stopMonitoring(): Promise<void>;
    private checkAllProjects;
    private checkProject;
    private performProjectCheck;
    private checkProjectCompletion;
    private performCompletionCheck;
    private createAutomaticPR;
    private performPRCreation;
    private generatePRDescription;
    private notifyProjectCompletion;
    getMonitoringStatus(): {
        isMonitoring: boolean;
        projectCount: number;
        projects: ProjectStatus[];
    };
    destroy(): Promise<void>;
}
