import { CdkColumnDef } from '@angular/cdk/table';
import { ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core';
import { CanDisable } from '@angular/material/core';
import { TsSortHeaderIntl } from './sort-header-intl';
import { TsSortableItem, TsSortDirective } from './sort.directive';
/**
* Applies sorting behavior (click to change sort) and styles to an element, including an
* arrow to display the current sort direction.
*
* Must be provided with an id and contained within a parent TsSortDirective.
*
* If used on header cells in a CdkTable, it will automatically default its id from its containing
* column definition.
*
* @example
*
* Created
*
*
* https://getterminus.github.io/ui-demos-release/components/table
*/
export declare class TsSortHeaderComponent implements TsSortableItem, CanDisable, OnInit, OnDestroy {
_intl: TsSortHeaderIntl;
private changeDetectorRef;
_sort: TsSortDirective;
_cdkColumnDef: CdkColumnDef;
disabled: boolean;
/**
* ID of this sort header. If used within the context of a CdkColumnDef, this will default to
* the column's name.
*/
id: string;
/**
* Sets the position of the arrow that displays when sorted
*/
arrowPosition: 'before' | 'after';
/**
* Overrides the sort start value of the containing TsSort for this TsSortable
*/
start: 'asc' | 'desc';
/**
* Overrides the disable clear value of the containing TsSort for this TsSortable
*
* @param value
*/
set disableClear(value: boolean);
get disableClear(): boolean;
private _disableClear;
constructor(_intl: TsSortHeaderIntl, changeDetectorRef: ChangeDetectorRef, _sort: TsSortDirective, _cdkColumnDef: CdkColumnDef);
/**
* Default to cdk column name
*/
ngOnInit(): void;
/**
* Deregister sort and unsubscribe from observables
*/
ngOnDestroy(): void;
/**
* Handles click events on the header
*/
_handleClick(): void;
/**
* Whether this TsSortHeader is currently sorted in either ascending or descending order
*/
_isSorted(): boolean;
/**
* Whether this TsSortHeader is disabled
*/
_isDisabled(): boolean;
}