import type { DocBlock } from '../docs/types';
import type { SignalAdapters } from './adapters';
import type { ProposalSink, RegenerationContext, RegenerationRule } from './types';
export interface RegeneratorOptions {
    contexts: RegenerationContext[];
    adapters: SignalAdapters;
    rules: RegenerationRule[];
    sink: ProposalSink;
    pollIntervalMs?: number;
    batchDurationMs?: number;
    clock?: () => Date;
}
export declare class RegeneratorService {
    private readonly options;
    private readonly contexts;
    private readonly lastPoll;
    private timer?;
    private running;
    private readonly pollInterval;
    private readonly batchDuration;
    private readonly clock;
    constructor(options: RegeneratorOptions);
    start(): void;
    stop(): void;
    runOnce(): Promise<void>;
    private tick;
    private evaluateContext;
    private collectSignals;
    private flushProposals;
}
export declare const tech_contracts_regenerator_DocBlocks: DocBlock[];
