import { TransformOpt, TransformTyped } from '../stream.model';
export interface TransformLogProgressOptions<IN = any> extends TransformOpt {
    /**
     * Progress metric
     * @default `progress`
     */
    metric?: string;
    /**
     * Include `heapUsed` in log.
     * @default true
     */
    heapUsed?: boolean;
    /**
     * Include `heapTotal` in log.
     * @default false
     */
    heapTotal?: boolean;
    /**
     * Include `rss` in log.
     * @default true
     */
    rss?: boolean;
    /**
     * Include `external` in log.
     * @default false
     */
    external?: boolean;
    /**
     * Include `arrayBuffers` in log.
     * @default false
     */
    arrayBuffers?: boolean;
    /**
     * Log (rss - heapTotal)
     * For convenience of debugging "out-of-heap" memory size.
     * @default false
     */
    rssMinusHeap?: boolean;
    /**
     * Log "rows per second"
     * @default true
     */
    logRPS?: boolean;
    /**
     * @default true
     * Set to false to disable logging progress
     */
    logProgress?: boolean;
    /**
     * Log progress event Nth record that is _processed_ (went through mapper).
     * @default 100
     */
    logEvery?: number;
    /**
     * Function to return extra properties to the "progress object".
     */
    extra?: (chunk: IN, index: number) => object;
}
/**
 * Pass-through transform that optionally logs progress.
 */
export declare function transformLogProgress<IN = any>(opt?: TransformLogProgressOptions): TransformTyped<IN, IN>;
