import { EventEmitter, TemplateRef } from '@angular/core'; /** Column definition associated with a `ElSortHeaderDirective`. */ interface ElSortHeaderColumnDef { name: string; } export interface ElSortRequest { column: string; direction: ElSortDirection; } export interface ElSortable { sort(sortRequest: ElSortRequest): any; } export declare enum ElSortDirection { ASCENDING = "asc", DESCENDING = "desc", NONE = "" } /** * Directive triggers sort method of passed object when sort header changes direction */ export declare class ElSortDirective { sortable: ElSortable; sort: EventEmitter; emitSort(sortRequest: ElSortRequest): void; } export interface ElSortHeaderIconDirectiveContext { $implicit: ElSortDirection; isAscending: boolean; isDescending: boolean; isNone: boolean; } /** * Directive for headers sort icons. Mark you icon implementation with this structural directive and * it'll set template's implicit context with current direction. Context also has `isAscending`, * `isDescending` and `isNone` properties. */ export declare class ElSortHeaderIconDirective { } export declare class ElSortIconComponent { direction: ElSortDirection; isAscending(): boolean; isDescending(): boolean; isDirectionSet(): boolean; } /** * Marks header as sort header so it emitting sort event when clicked. */ export declare class ElSortHeaderComponent { private sort; private columnDef; sortIcon: TemplateRef; /** * Current sort direction. Possible values: `asc`, `desc`, ``(none) * @type {ElSortDirection} */ direction: ElSortDirection; private disabledValue; /** * Disable sort header */ disabled: boolean; sortIfEnabled(): void; constructor(sort: ElSortDirective, columnDef: ElSortHeaderColumnDef); isAscending(): boolean; isDescending(): boolean; sortData(): void; getIconContext(): ElSortHeaderIconDirectiveContext; getDisabledAttributeValue(): '' | null; private createSortRequest; private getNextDirection; } export {};