import { OnDestroy, OnInit } from '@angular/core';
import { Observable } from 'rxjs';
import { QdSortDirection } from '../model/sort-direction.enum';
import { QdTableConfigColumnSort } from '../model/table-config.interface';
import { QdTableStoreService } from '../store/table-store.service';
import * as i0 from "@angular/core";
export declare class QdTableSortComponent<T extends string> implements OnInit, OnDestroy {
    private readonly tableStoreService;
    isSortable: boolean;
    config: QdTableConfigColumnSort;
    column: string;
    testId?: string;
    isHovered: boolean;
    isActive: boolean;
    showAsc$?: Observable<boolean>;
    showDesc$?: Observable<boolean>;
    private _isActiveSubscription;
    private _direction;
    private _multiSort;
    get direction(): QdSortDirection;
    set direction(direction: QdSortDirection);
    get sortDirection(): typeof QdSortDirection;
    constructor(tableStoreService: QdTableStoreService<T>);
    ngOnInit(): void;
    ngOnDestroy(): void;
    getOpacity(): string;
    handleMouseEnter(): void;
    handleMouseLeave(): void;
    handleClick(): void;
    private setInitialSort;
    private subscribeIsActive;
    private updateSortDirection;
    private setShowAsc;
    private setShowDesc;
    private shouldShowArrow;
    static ɵfac: i0.ɵɵFactoryDeclaration<QdTableSortComponent<any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<QdTableSortComponent<any>, "qd-table-sort", never, { "isSortable": { "alias": "isSortable"; "required": false; }; "config": { "alias": "config"; "required": false; }; "column": { "alias": "column"; "required": false; }; "testId": { "alias": "data-test-id"; "required": false; }; }, {}, never, ["*"], false, never>;
}
//# sourceMappingURL=table-sort.component.d.ts.map