import { EventEmitter, OnChanges, OnDestroy } from '@angular/core';
import { Subject } from 'rxjs';
import { Sort, SortDirection, Sortable } from './sort.types';
import * as i0 from "@angular/core";
export declare class SortDirective implements OnChanges, OnDestroy {
    sortables: Map<string, Sortable>;
    readonly _stateChanges: Subject<void>;
    active: string;
    start: 'asc' | 'desc';
    get direction(): SortDirection;
    set direction(direction: SortDirection);
    private _direction;
    readonly sortChange: EventEmitter<Sort>;
    register(sortable: Sortable): void;
    deregister(sortable: Sortable): void;
    sort(sortable: Sortable): void;
    ngOnChanges(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SortDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<SortDirective, "[auiSort]", ["auiSort"], { "active": { "alias": "active"; "required": false; }; "start": { "alias": "start"; "required": false; }; "direction": { "alias": "direction"; "required": false; }; }, { "sortChange": "sortChange"; }, never, never, true, never>;
}
