export interface SelectorEntry { selectorId: number; groupBits: number; } export declare class SelectorRegistry { private nextSelectorId; private nextGroupBit; private exactLookup; private typeOnlyLookup; private groupMembers; private _compiledResolver; registerSelector(type: number, value?: string): SelectorEntry; registerSelectorGroup(entries: SelectorEntry[]): number; getSelectorIdsForGroupBit(bit: number): readonly number[]; compile(): (type: number, value: any) => Readonly; resolveSelector(type: number, value?: T): Readonly; } export declare const defaultRegistry: SelectorRegistry; export declare function registerSelector(type: number, value?: string): SelectorEntry; export declare function registerSelectorGroup(entries: SelectorEntry[]): number; export declare function getSelectorIdsForGroupBit(bit: number): readonly number[]; export declare function compile(): (type: number, value: any) => Readonly; export declare function resolveSelector(type: number, value?: T): Readonly;