import { ComponentID, ComponentIdList } from '@teambit/component-id'; import type { Workspace } from './workspace'; export declare const statesFilter: readonly ["new", "modified", "deprecated", "deleted", "snappedOnMain", "softTagged", "codeModified", "localOnly"]; export type StatesFilter = (typeof statesFilter)[number]; export declare class Filter { private workspace; constructor(workspace: Workspace); by(criteria: StatesFilter | string, ids: ComponentID[]): Promise; byState(state: StatesFilter, ids: ComponentID[]): Promise; byMultiParamState(state: string, ids: ComponentID[]): Promise; byEnv(env: string, withinIds?: ComponentID[]): Promise; byModified(withinIds?: ComponentID[]): Promise; byCodeModified(withinIds?: ComponentID[]): Promise; byLocalOnly(withinIds?: ComponentID[]): ComponentID[]; byNew(withinIds?: ComponentID[]): Promise; byDeprecated(withinIds?: ComponentID[]): Promise; byDeleted(withinIds?: ComponentID[]): Promise; byDuringMergeState(): ComponentIdList; /** * list components that their head is a snap, not a tag. * this is relevant only when the lane is the default (main), otherwise, the head is always a snap. * components that are during-merge are filtered out, we don't want them during tag and don't want * to show them in the "snapped" section in bit-status. */ bySnappedOnMain(withinIds?: ComponentID[]): Promise; bySoftTagged(withinIds?: ComponentID[]): ComponentID[]; private getModelComps; }