export type KeyGetter = (x: any) => string;
export declare class KeyedArray<T> {
    getKey: KeyGetter;
    constructor(keyGetter: KeyGetter);
    static withKey(key: string): any;
    get(array: T[], key: string): T | undefined;
    toRecord(array: T[]): Record<string, T>;
    checkValid(array: T[], what?: string, where?: string): void;
    isValid(array: T[]): boolean;
    overrideByKey(things: T[], thingOverride: T): T[];
    overridesByKey(things: T[], thingOverrides: T[]): T[];
    dedupe(array: T[]): T[];
    deleteByKey(array: T[], key: string): T[];
}
//# sourceMappingURL=keyed-array.d.ts.map