import type { Change } from '../ivm/change.ts';
import type { Node } from '../ivm/data.ts';
import { type FetchRequest, type Input, type Operator, type Output } from '../ivm/operator.ts';
import type { SourceSchema } from '../ivm/schema.ts';
import type { Stream } from '../ivm/stream.ts';
import type { MetricsDelegate } from './metrics-delegate.ts';
type MetricName = 'query-update-client' | 'query-update-server';
export declare class MeasurePushOperator implements Operator {
    #private;
    constructor(input: Input, queryID: string, metricsDelegate: MetricsDelegate, metricName: MetricName);
    setOutput(output: Output): void;
    fetch(req: FetchRequest): Stream<Node>;
    cleanup(req: FetchRequest): Stream<Node>;
    getSchema(): SourceSchema;
    destroy(): void;
    push(change: Change): void;
}
export {};
//# sourceMappingURL=measure-push-operator.d.ts.map