import { type Observable } from 'rxjs';
import { type TuiSortChange } from '../table.options';
import * as i0 from "@angular/core";
export declare class TuiTableSortBy<T extends Partial<Record<keyof T, unknown>>> {
    private readonly sortables;
    private readonly table;
    /**
     * @deprecated: use tuiSortChange
     */
    readonly tuiSortByChange: Observable<keyof T | null>;
    readonly tuiSortChange: Observable<TuiSortChange<T>>;
    tuiSortBy: string | keyof T | null;
    set sortBy(sortBy: string | keyof T | null);
    protected checkSortables(): void;
    private getKey;
    static ɵfac: i0.ɵɵFactoryDeclaration<TuiTableSortBy<any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TuiTableSortBy<any>, "table[tuiTable][tuiSortBy]", never, { "sortBy": { "alias": "tuiSortBy"; "required": false; }; }, { "tuiSortByChange": "tuiSortByChange"; "tuiSortChange": "tuiSortChange"; }, ["sortables"], never, true, never>;
}
