import BitId, { BitIdStr } from './bit-id'; export default class BitIds extends Array { serialize(): string[]; has(bitId: BitId): boolean; hasWithoutVersion(bitId: BitId): boolean; hasWithoutScope(bitId: BitId): boolean; hasWithoutScopeAndVersion(bitId: BitId): boolean; hasWithoutScopeAndVersionAsString(bitIdStr: BitIdStr): 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[]; removeIfExist(bitId: BitId): BitIds; /** * Return ids which are on the current instance and not in the passed list * @param bitIds */ difference(bitIds: BitIds): BitIds; removeIfExistWithoutVersion(bitId: BitId): BitIds; removeMultipleIfExistWithoutVersion(bitIds: BitIds): BitIds; toObject(): {}; /** * make sure to pass only bit ids you know they have scope, otherwise, you'll get invalid bit ids. * this is mainly useful for remote commands where it is impossible to have a component without scope. */ static deserialize(array?: string[]): BitIds; static deserializeObsolete(array?: string[]): BitIds; toString(): string; toGroupByIdWithoutVersion(): { [idStrWithoutVer: string]: BitIds; }; toGroupByScopeName(idsWithDefaultScope: BitIds): { [scopeName: string]: BitIds; }; findDuplicationsIgnoreVersion(): { [id: string]: BitId[]; }; add(bitIds: BitId[]): void; static fromObject(dependencies: { [key: string]: string; }): BitIds; static fromArray(ids: BitId[]): BitIds; static uniqFromArray(bitIds: BitId[]): BitIds; throwForDuplicationIgnoreVersion(): void; toVersionLatest(): BitIds; clone(): BitIds; }