import type { StreamEvent } from '../../../shared/types/provider.js'; import type { CompanionDiff } from './diff-reader.js'; import { CompanionChangeDetector, type CompanionChangeSkipReason, type CompanionChangeCandidate } from './change-detector.js'; import type { CompanionReviewQueue } from './review-queue.js'; export declare class CompanionTriggerScheduler { private readonly input; private pollTimer; private debounceTimer; private evaluating; private pendingEvaluation; private completing; private knownSnapshot; private readonly knownSnapshotGenerations; private snapshotOperation; private evaluationEpoch; private lifecycleGeneration; private readonly pendingBash; private readonly pendingBashIds; constructor(input: { readonly detectors: ReadonlyMap; readonly intervals: readonly number[]; readonly allowGitCommit: boolean; readonly queue: CompanionReviewQueue; readonly initialSnapshot: CompanionDiff; readonly readSnapshot: () => Promise; readonly isAborted: () => boolean; readonly onError: () => void; readonly onSkipped?: (input: { readonly companionName: string; readonly reason: CompanionChangeSkipReason; readonly candidate: CompanionChangeCandidate; }) => void; }); observe(event: StreamEvent): void; start(): void; beginCompletion(): void; synchronizeSnapshot(snapshot: CompanionDiff): void; stop(): void; evaluateNow(): Promise; private liveCandidates; private scheduleDebouncedEvaluation; private observeBashUse; private observeBashResult; private probeBashCompletion; private runSnapshotOperation; } //# sourceMappingURL=trigger-scheduler.d.ts.map