import { BehaviorSubject } from 'rxjs'; import { Ring } from '../../chain.class'; import { AbstractTable } from './table.class'; import { Col } from '../../cols/col.class'; import { SortState, SortScheme } from '../../../../utils/sorter.class'; export interface DefaultSort { colId: string; state: SortState; } export declare abstract class AbstractSorter implements Ring { protected ctx: AbstractTable; protected defaults: DefaultSort; input: BehaviorSubject; output: BehaviorSubject; readonly defaultChain: SortScheme; protected lastChain: SortScheme; constructor(ctx: AbstractTable, defaults: DefaultSort); subscribe(): import("rxjs").Subscription; abstract sortByCol(col: Col): void; abstract sortByDefault(): void; abstract sortByLast(): void; protected clearOtherStates(): void; protected getSortScheme(leader: Col, state: SortState): SortScheme; private getDefaultSortScheme; }