import _ from 'lodash/fp.js';
import { ChangeStreamDocument, ChangeStreamInsertDocument } from 'mongodb';
import { BulkQueryResult } from './crate.js';
/**
 * Does arr start with startsWith array.
 */
export declare const arrayStartsWith: (arr: any[], startsWith: any[]) => boolean;
export declare const setDefaults: (keys: string[], val: any) => Record<string, any>;
export declare const sumByRowcount: (num: number) => _.LodashSumBy1x1<{
    rowcount: any;
}>;
/**
 * Get the document ids that failed to be written during a bulk
 * query.
 */
export declare const getFailedRecords: (results: BulkQueryResult["results"], documents: ChangeStreamInsertDocument[]) => unknown[];
export declare const partitionEvents: (docs: ChangeStreamDocument[]) => (import("mongodb").ChangeStreamDropDocument | import("mongodb").ChangeStreamRenameDocument | import("mongodb").ChangeStreamDropDatabaseDocument | import("mongodb").ChangeStreamInvalidateDocument | import("mongodb").ChangeStreamCreateIndexDocument | import("mongodb").ChangeStreamCreateDocument | import("mongodb").ChangeStreamCollModDocument | import("mongodb").ChangeStreamDropIndexDocument | import("mongodb").ChangeStreamShardCollectionDocument | import("mongodb").ChangeStreamReshardCollectionDocument | import("mongodb").ChangeStreamRefineCollectionShardKeyDocument | ChangeStreamInsertDocument<import("bson").Document> | import("mongodb").ChangeStreamUpdateDocument<import("bson").Document> | import("mongodb").ChangeStreamReplaceDocument<import("bson").Document> | import("mongodb").ChangeStreamDeleteDocument<import("bson").Document>)[][];
