import type { DistributiveOmit } from "@superblocksteam/library-shared";
import type { Operation } from "./types.js";
type OperationProcessorConfig = {
    batchWindowMs: number;
    maxBatchSize: number;
};
export declare class OperationProcessor {
    private config;
    private operationQueue;
    private pendingOperations;
    private batchTimer;
    private _enabled;
    constructor(config?: Partial<OperationProcessorConfig>);
    addOperation(operation: DistributiveOmit<Operation, "timestamp" | "id">): Promise<void>;
    flush(): Promise<void>;
    disable(): void;
    enable(): void;
    private setEnabled;
    private processOperations;
    private resetBatchTimer;
    private clearBatchTimer;
}
export {};
//# sourceMappingURL=operation-processor.d.ts.map