import { CdkColumnDef } from '@angular/cdk/table';
import { ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core';
import { Bem } from '../internal/utils';
import { SortDirective } from './sort.directive';
import { ArrowViewState, SortDirection, Sortable } from './sort.types';
import * as i0 from "@angular/core";
export declare class SortHeaderComponent implements Sortable, OnInit, OnDestroy {
    _sort: SortDirective;
    _cdkColumnRef: CdkColumnDef;
    private readonly _rerenderSubscription;
    _viewState: ArrowViewState;
    arrowDirection: SortDirection;
    id: string;
    start: 'asc' | 'desc';
    bem: Bem;
    constructor(cdr: ChangeDetectorRef, _sort: SortDirective, _cdkColumnRef: CdkColumnDef);
    ngOnInit(): void;
    ngOnDestroy(): void;
    _handleClick(): void;
    _isSorted(): boolean;
    _updateArrowDirection(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SortHeaderComponent, [null, { optional: true; }, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SortHeaderComponent, "[aui-sort-header]", never, { "id": { "alias": "aui-sort-header"; "required": false; }; "start": { "alias": "start"; "required": false; }; }, {}, never, ["*"], true, never>;
}
