import Version from '../../scope/models/version';
import ModelComponent from '../../scope/models/model-component';
import Scope from '../../scope/scope';
import Component from '../component';
import { InvalidComponent } from '../component/consumer-component';
import { BitId, BitIds } from '../../bit-id';
import BitMap from '../bit-map/bit-map';
import Consumer from '../consumer';
import { ComponentOrigin } from '../bit-map/component-map';
export declare type ObjectsList = Promise<{
    [componentId: string]: Version;
}>;
export declare type ListScopeResult = {
    id: BitId;
    currentlyUsedVersion?: string | null | undefined;
    remoteVersion?: string;
    deprecated?: boolean;
};
export default class ComponentsList {
    consumer: Consumer;
    scope: Scope;
    bitMap: BitMap;
    _fromFileSystem: {
        [cacheKey: string]: Component[];
    };
    _fromObjectsIds: BitId[];
    _modelComponents: ModelComponent[];
    _invalidComponents: InvalidComponent[];
    _modifiedComponents: Component[];
    constructor(consumer: Consumer);
    getModelComponents(): Promise<ModelComponent[]>;
    getFromObjects(): Promise<BitId[]>;
    getAuthoredAndImportedFromFS(): Promise<Component[]>;
    listModifiedComponents(load?: boolean): Promise<Array<BitId | Component>>;
    listOutdatedComponents(): Promise<Component[]>;
    newModifiedAndAutoTaggedComponents(): Promise<Component[]>;
    authoredAndImportedComponents(): Promise<Component[]>;
    idsFromObjects(): Promise<BitIds>;
    listNewComponents(load?: boolean): Promise<BitIds | Component[]>;
    listCommitPendingOfAllScope(version: string, includeImported?: boolean): Promise<{
        tagPendingComponents: BitId[];
        warnings: string[];
    }>;
    listCommitPendingComponents(): Promise<BitIds>;
    listExportPendingComponentsIds(): Promise<BitIds>;
    listNonNewComponentsIds(): Promise<BitIds>;
    updateIdsFromModelIfTheyOutOfSync(ids: BitIds): Promise<BitIds>;
    listExportPendingComponents(): Promise<ModelComponent[]>;
    listAutoTagPendingComponents(): Promise<ModelComponent[]>;
    idsFromBitMap(origin?: string): BitId[];
    getFromFileSystem(origin?: string): Promise<Component[]>;
    listInvalidComponents(): Promise<BitId[]>;
    getFromBitMap(origin?: ComponentOrigin): BitIds;
    getPathsForAllFilesOfAllComponents(origin?: ComponentOrigin, absolute?: boolean): string[];
    listScope(showRemoteVersion: boolean, includeNested: boolean, namespacesUsingWildcards?: string): Promise<ListScopeResult[]>;
    static listLocalScope(scope: Scope, namespacesUsingWildcards?: string): Promise<ListScopeResult[]>;
    static sortComponentsByName<T>(components: T): T;
    static filterComponentsByWildcard<T>(components: T, idsWithWildcard: string[] | string): T;
    static getUniqueComponents(components: Component[]): Component[];
    listComponentsByIdsWithWildcard(idsWithWildcard: string[]): BitId[];
}
