import { AgentManager } from '../tools/agent/index.js';
import type { ConfigManager } from '../config/manager.js';
import type { SharedSessionBroker } from '../control-plane/index.js';
import type { AutomationJob } from '@pellux/goodvibes-sdk/platform/automation/jobs';
import type { AutomationRun } from '@pellux/goodvibes-sdk/platform/automation/runs';
interface AutomationReconcileContext {
    readonly configManager: ConfigManager;
    readonly sessionBroker: SharedSessionBroker;
    readonly agentStatusProvider: Pick<AgentManager, 'getStatus'>;
    readonly jobs: Map<string, AutomationJob>;
    readonly runs: Map<string, AutomationRun>;
    readonly saveJobs: () => Promise<void>;
    readonly saveRuns: () => Promise<void>;
    readonly syncExecutionRoute: (job: AutomationJob, run: AutomationRun) => Promise<void>;
    readonly syncRunToRuntime: (run: AutomationRun, source: string) => void;
    readonly syncJobToRuntime: (job: AutomationJob, source: string) => void;
    readonly emitRunCompleted: (job: AutomationJob, run: AutomationRun, outcome: 'success' | 'partial' | 'failed' | 'cancelled') => void;
    readonly emitRunFailed: (job: AutomationJob, run: AutomationRun, error: string, retryable: boolean) => void;
    readonly emitJobAutoDisabled: (job: AutomationJob, reason: string) => void;
    readonly maybeDeliverRun: (job: AutomationJob, run: AutomationRun) => void;
    readonly scheduleFailureFollowUp: (job: AutomationJob, run: AutomationRun) => void;
    readonly applyFailureToJob: (job: AutomationJob, timestamp: number, countRun?: boolean) => AutomationJob;
    readonly pruneRunHistory: () => void;
    readonly cancelTimer: (jobId: string) => void;
}
export declare function reconcileAutomationActiveRuns(context: AutomationReconcileContext): void;
export {};
//# sourceMappingURL=manager-runtime-reconcile.d.ts.map