import { NgClass } from '@angular/common';
import { ApplicationRef, ElementRef, EnvironmentInjector, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import { DokuTable } from './table.directive';
import * as i0 from "@angular/core";
export declare class DokuTableSortable implements OnInit, OnChanges, OnDestroy {
    private envInjector;
    private appRef;
    private elementRef;
    private table?;
    /**
     * Column name that will be sorted.
     * @default undefined
     */
    sortable?: string;
    private direction$;
    private sorterIconComponent?;
    private destroy$;
    constructor(envInjector: EnvironmentInjector, appRef: ApplicationRef, elementRef: ElementRef, table?: DokuTable | undefined);
    protected get classes(): NgClass['ngClass'];
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    protected onClick(): void;
    private appendElement;
    private removeElement;
    private createSorterIconComponent;
    private nextDirection;
    static ɵfac: i0.ɵɵFactoryDeclaration<DokuTableSortable, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DokuTableSortable, "th[doku-sortable]", ["dokuSortable"], { "sortable": "doku-sortable"; }, {}, never, never, true>;
}
