/** @internal NOTE: Internal APIs. Subject to change. Use of these APIs in production applications is not supported. */ /** */
import { TypedArrayLike } from './bim-format-types';
export interface Lookup<T> {
    [key: string]: T;
}
export declare function lookupClear<T>(lookup: Lookup<T>): void;
export declare function lookupGetOrAdd<T>(lookup: Lookup<T>, key: string, factory: (key: string) => T): T;
export declare function toLookup<KEY, VAL>(ar: KEY[], keySelector: (i: KEY) => string, valueSelector?: (i: KEY) => VAL): Lookup<VAL>;
export declare function toMap<T, KEY, VAL>(ar: T[], keySelector: (i: T) => KEY, valueSelector?: (i: T) => VAL): Map<KEY, VAL>;
export declare function mergeInto<T extends TypedArrayLike>(dst: T, src?: T, offsetInDst?: number): T;
export declare function distinct<T>(items: T[], selector: (i: T) => string): T[];
export declare function groupBy<T>(items: T[], selector: (i: T) => string): Lookup<T[]>;
//# sourceMappingURL=lookup.d.ts.map