export declare type Nullish<T> = T | null | undefined;
declare type MergeFunc<T> = (values: T[]) => T | null;
export declare type MergeMap<T> = {
    [key in keyof T]?: MergeFunc<T[key]>;
};
export declare const exclude: () => null;
export declare const first: <T>(values: T[]) => T;
export declare const average: (values: Nullish<number>[]) => number;
export declare function mergeWithRules<T>(data: T[], rules?: MergeMap<T>): T;
export {};
