import { RunLogger } from "./logger.js";
type OnPoll = (source: string) => Promise<void>;
export type RunExecutionSnapshotPollerOptions = {
    runFriendlyId: string;
    snapshotFriendlyId: string;
    logger: RunLogger;
    snapshotPollIntervalSeconds: number;
    onPoll: OnPoll;
};
export declare class RunExecutionSnapshotPoller {
    private runFriendlyId;
    private snapshotFriendlyId;
    private enabled;
    private readonly logger;
    private readonly onPoll;
    private readonly poller;
    private lastPollAt;
    private pollCount;
    constructor(opts: RunExecutionSnapshotPollerOptions);
    resetCurrentInterval(): void;
    updateSnapshotId(snapshotFriendlyId: string): void;
    updateInterval(intervalMs: number): void;
    start(): RunExecutionSnapshotPoller;
    stop(): void;
    get metrics(): {
        lastPollAt: Date | null;
        pollCount: number;
    };
    private sendDebugLog;
}
export {};
