import BitId from '../bit-id/bit-id';
export default class BitIds extends Array<BitId> {
    serialize(): string[];
    toObject(): Record<string, any>;
    resolveVersion(idWithLatest: BitId): BitId;
    has(bitId: BitId): boolean;
    hasWithoutVersion(bitId: BitId): boolean;
    hasWithoutScope(bitId: BitId): boolean;
    hasWithoutScopeAndVersion(bitId: BitId): boolean;
    search(bitId: BitId): BitId | null | undefined;
    searchWithoutVersion(bitId: BitId): BitId | null | undefined;
    searchWithoutScopeAndVersion(bitId: BitId): BitId | undefined;
    searchWithoutScope(bitId: BitId): BitId | null | undefined;
    searchStrWithoutVersion(idStr: string): BitId | null | undefined;
    searchStrWithoutScopeAndVersion(idStr: string): BitId | null | undefined;
    filterExact(bitId: BitId): BitId[];
    filterWithoutVersion(bitId: BitId): BitId[];
    filterWithoutScopeAndVersion(bitId: BitId): BitId[];
    removeIfExistWithoutVersion(bitId: BitId): BitIds;
    removeMultipleIfExistWithoutVersion(bitIds: BitIds): BitIds;
    static deserialize(array?: string[]): BitIds;
    static deserializeObsolete(array?: string[]): BitIds;
    toString(): string;
    toGroupByScopeName(idsWithDefaultScope: BitIds): {
        [scopeName: string]: BitIds;
    };
    findDuplicationsIgnoreVersion(): {
        [id: string]: BitId[];
    };
    static fromObject(dependencies: {
        [key: string]: string;
    }): BitIds;
    static fromArray(bitIds: BitId[]): BitIds;
    static uniqFromArray(bitIds: BitId[]): BitIds;
    throwForDuplicationIgnoreVersion(): void;
    clone(): BitIds;
}
