import { interfaces } from 'inversify'; import { Filter } from './filter'; export declare type ContributionType = interfaces.ServiceIdentifier; export declare const ContributionFilterRegistry: unique symbol; export interface ContributionFilterRegistry { /** * Add filters to be applied for every type of contribution. */ addFilters(types: '*', filters: Filter[]): void; /** * Given a list of contribution types, register filters to apply. * @param types types for which to register the filters. */ addFilters(types: ContributionType[], filters: Filter[]): void; /** * Applies the filters for the given contribution type. Generic filters will be applied on any given type. * @param toFilter the elements to filter * @param type the contribution type for which potentially filters were registered * @returns the filtered elements */ applyFilters(toFilter: T[], type: ContributionType): T[]; } export declare const FilterContribution: unique symbol; /** * Register filters to remove contributions. */ export interface FilterContribution { /** * Use the registry to register your contribution filters. */ registerContributionFilters(registry: ContributionFilterRegistry): void; } //# sourceMappingURL=contribution-filter.d.ts.map