import { BooleanInput } from '@angular/cdk/coercion';
import { AfterViewInit, ElementRef, EventEmitter, OnInit, Renderer2 } from '@angular/core';
import * as i0 from "@angular/core";
declare enum SortDirection {
    ASC = "ascending",
    DESC = "descending",
    CONST = "constant"
}
export interface SortedData {
    data: any[];
    sortOrder: string;
    sortBy: string;
}
export declare class MdbTableSortDirective implements OnInit, AfterViewInit {
    private el;
    private renderer;
    data: any[];
    sortedInto: boolean;
    order: SortDirection.ASC | SortDirection.DESC | SortDirection.CONST;
    dataSource: Array<any>;
    sortBy: string;
    get sortIcon(): boolean;
    set sortIcon(value: BooleanInput);
    private _sortIcon;
    get resetSortDirection(): boolean;
    set resetSortDirection(value: BooleanInput);
    private _resetSortDirection;
    sortEnd: EventEmitter<any[]>;
    sorted: EventEmitter<SortedData>;
    constructor(el: ElementRef, renderer: Renderer2);
    onclick(): void;
    trimWhiteSigns(headElement: any): string;
    moveArrayItem(arr: any, oldIndex: number, newIndex: number): any;
    sortDataBy(key: string | any): void;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    createIcon(): void;
    removeSort(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<MdbTableSortDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<MdbTableSortDirective, "[mdbTableSort]", never, { "dataSource": "mdbTableSort"; "sortBy": "sortBy"; "sortIcon": "sortIcon"; "resetSortDirection": "resetSortDirection"; }, { "sortEnd": "sortEnd"; "sorted": "sorted"; }, never, never, false, never>;
}
export {};
