import { NodeFilterType, PossibleNodeConfigType, SortedNodeFilterType } from '../types';
export declare const validateFilter: (filter: unknown) => boolean;
export declare const applyFilter: <T extends PossibleNodeConfigType>(nodeList: ReadonlyArray<T>, filter?: NodeFilterType | SortedNodeFilterType) => ReadonlyArray<T>;
export declare const mergeFilters: (filters: Array<NodeFilterType>, isStrict?: boolean) => NodeFilterType;
export declare const useKeywords: (keywords: Array<string>, isStrict?: boolean) => NodeFilterType;
export declare const discardKeywords: (keywords: Array<string>, isStrict?: boolean) => NodeFilterType;
export declare const useRegexp: (regexp: RegExp) => NodeFilterType;
export declare const matchGlob: (str: string, glob: string) => boolean;
export declare const useGlob: (glob: string) => NodeFilterType;
export declare const discardGlob: (glob: string) => NodeFilterType;
export declare const useProviders: (keywords: Array<string>, isStrict?: boolean) => NodeFilterType;
export declare const discardProviders: (keywords: Array<string>, isStrict?: boolean) => NodeFilterType;
export declare const useSortedKeywords: (keywords: Array<string>) => SortedNodeFilterType;
export declare const mergeSortedFilters: (filters: Array<NodeFilterType>) => SortedNodeFilterType;
export declare const reverseFilter: (filter: NodeFilterType) => NodeFilterType;
export declare const mergeReversedFilters: (filters: Array<NodeFilterType>, isStrict?: boolean) => NodeFilterType;
