import { Col } from '../../cols/col.class'; import { BehaviorSubject } from 'rxjs'; import { LocalTable } from './table.class'; import { Ring } from '../../chain.class'; import { Casher } from '../../cash.class'; import { Searcher, SearchMode } from '../../../../components/searcher/searcher.component'; export declare class Filter extends Casher implements Ring { private ctx; input: BehaviorSubject; output: BehaviorSubject; readonly byCol: Map, ColFilter>; readonly global: GlobalFilter; constructor(ctx: LocalTable); subscribe(): import("rxjs").Subscription; private setColWithTagsRelation; addTagToCol(col: Col, tag: Tag): void; removeTagFromCol(col: Col, tag: Tag): void; getTagsByCol(col: Col): Set; getTagsByColArray(col: Col): Tag[]; addGlobalTag(): void; removeGlobalTag(tag: Tag): void; searchInCols(): void; clear(): void; filterAll(): void; private isSelected; private byColsTags; private byGlobalTags; private getComparer; save(): FilterCash; restore({ globalTags, tagsByCol }: { globalTags: any; tagsByCol: any; }): void; } export declare class Tag { title: string; mode: SearchMode; constructor(title: string, mode: SearchMode); } export interface GlobalFilter { tags: Set; searchable: string; } export interface ColFilter { tags: Set; searcher: Searcher; delete(tag: Tag): void; } export interface FilterCash { globalTags: Tag[]; tagsByCol: { [colId: string]: Tag[]; }; }