import { AggregatorOptions, Pipeline } from ".."; import { PipeLineIsHelper } from "./is"; import { Counter, WrappedPipeline } from "./types"; export interface OptimizerHelperArg { getFieldsOfPipeline: (pipeline: Pipeline, helper: OptimizerHelper) => OptimizerHints; pipelineIs?: PipeLineIsHelper; } export declare type OptimizerHelper = OptimizerHelperArg & { pipelineIs: PipeLineIsHelper; }; export declare const createDefaultOptimizer: (helpers: OptimizerHelperArg) => (useOptimizer: boolean, options: AggregatorOptions) => AggregatorOptions; export declare const wrapPipeline: (pipeline: Pipeline, counter: Counter) => WrappedPipeline; export declare const copyChangingFields: (IAmChangingFields: WrappedPipeline["IAmChangingFields"]) => WrappedPipeline["IAmChangingFields"]; export declare type OptimizerHints = Pick;