import { EventEmitter, TemplateRef } from '@angular/core'; import { NbBooleanInput, NbNullableInput } from '../helpers'; import * as i0 from "@angular/core"; /** Column definition associated with a `NbSortHeaderDirective`. */ interface NbSortHeaderColumnDef { name: string; } export interface NbSortRequest { column: string; direction: NbSortDirection; } export interface NbSortable { sort(sortRequest: NbSortRequest): any; } export type NbSortDirectionValues = 'asc' | 'desc' | ''; export declare enum NbSortDirection { ASCENDING = "asc", DESCENDING = "desc", NONE = "" } /** * Directive triggers sort method of passed object when sort header changes direction */ export declare class NbSortDirective { sortable: NbSortable; static ngAcceptInputType_sortable: NbSortable | NbNullableInput; sort: EventEmitter; emitSort(sortRequest: NbSortRequest): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } export interface NbSortHeaderIconDirectiveContext { $implicit: NbSortDirection; 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 NbSortHeaderIconDirective { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } export declare class NbSortIconComponent { direction: NbSortDirection; isAscending(): boolean; isDescending(): boolean; isDirectionSet(): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * Marks header as sort header so it emitting sort event when clicked. */ export declare class NbSortHeaderComponent { private sort; private columnDef; sortIcon: TemplateRef; /** * Current sort direction. Possible values: `asc`, `desc`, ``(none) * @type {NbSortDirection} */ direction: NbSortDirection; static ngAcceptInputType_direction: NbSortDirectionValues; private disabledValue; /** * Disable sort header */ set disabled(value: boolean); get disabled(): boolean; static ngAcceptInputType_disabled: NbBooleanInput; sortIfEnabled(): void; constructor(sort: NbSortDirective, columnDef: NbSortHeaderColumnDef); isAscending(): boolean; isDescending(): boolean; sortData(): void; getIconContext(): NbSortHeaderIconDirectiveContext; getDisabledAttributeValue(): '' | null; private createSortRequest; private getNextDirection; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export {};