import { OnInit, OnDestroy } from '@angular/core';
import { EuiDropdownComponent } from '@eui/components/eui-dropdown';
import { SortOrder } from '../models/sort.model';
import * as i0 from "@angular/core";
/**
 * @description
 * Component used internally by `eui-table-v2` to make a column sortable.
 */
export declare class EuiTableV2SortableColComponent implements OnInit, OnDestroy {
    /**
     * @description
     * Computes and returns the CSS classes for the component based on its current state.
     *
     * @returns {string} Space-separated string of CSS class names
     */
    get cssClasses(): string;
    sortOn: string;
    sortOrder: SortOrder;
    /**
     * Whether the column is sorted by default.
     *
     * @default false
     */
    defaultOrder: boolean;
    /**
     * Whether the sort is disabled on the column.
     *
     * @default false
     */
    sortDisabled: boolean;
    /**
     * Whether the sorting of the column can be cumulated with the one of other column.
     *
     * @default false
     */
    isMultiSortable: boolean;
    order: SortOrder;
    isSorted: boolean;
    sortedIndex: number;
    euiDropdown: EuiDropdownComponent;
    private destroy$;
    private euiTableV2SortService;
    ngOnInit(): void;
    ngOnDestroy(): void;
    /**
     * Handles the click event on the sortable column.
     */
    changeSort(): void;
    /**
     * Handles the click event on the dropdown item when the column is multi-sortable.
     * @param order An array of SortOrder. See {@link SortOrder}
     */
    onDropdownItemClick(order: SortOrder): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiTableV2SortableColComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiTableV2SortableColComponent, "th[isSortable]", never, { "sortOn": { "alias": "sortOn"; "required": false; }; "sortOrder": { "alias": "sortOrder"; "required": false; }; "defaultOrder": { "alias": "defaultOrder"; "required": false; }; "sortDisabled": { "alias": "sortDisabled"; "required": false; }; "isMultiSortable": { "alias": "isMultiSortable"; "required": false; }; }, {}, never, ["*"], true, never>;
    static ngAcceptInputType_defaultOrder: unknown;
    static ngAcceptInputType_sortDisabled: unknown;
    static ngAcceptInputType_isMultiSortable: unknown;
}
//# sourceMappingURL=eui-table-v2-sortable-col.component.d.ts.map