import * as React from 'react';
import { GridSortSettings } from '../interfaces/GridSortSettings';
import { SortDescriptor, CompositeFilterDescriptor } from '@progress/kendo-data-query';
import { ColumnResize } from '../drag/ColumnResize';
import { ColumnDraggableProps } from '../drag/ColumnDraggable';
import { ExtendedColumnProps } from '../GridColumn';
import { GridColumnProps } from '../interfaces/GridColumnProps';
import { GridHeaderCellProps } from '../interfaces/GridHeaderCellProps';
import { GridColumnMenuProps } from '../interfaces/GridColumnMenuProps';
/**
 * @hidden
 */
export interface HeaderRowProps extends ColumnDraggableProps {
    sortable?: GridSortSettings;
    sortChange?: (descriptors: SortDescriptor[], e: React.SyntheticEvent<any>) => void;
    sort?: SortDescriptor[];
    filter?: CompositeFilterDescriptor;
    filterable?: boolean | undefined;
    filterChange?: (filter: CompositeFilterDescriptor | null, syntheticEvent: React.SyntheticEvent<any>) => any;
    columns: ExtendedColumnProps[];
    columnResize?: ColumnResize;
    columnsMap: number[][];
    selectionChange: (e: any) => void;
    cellRender?: (defaultRendering: React.ReactNode | null, props: GridHeaderCellProps) => React.ReactNode;
    columnMenu?: null | React.ComponentType<GridColumnMenuProps>;
}
/**
 * @hidden
 */
export declare class HeaderRow extends React.Component<HeaderRowProps, {}> {
    private _element;
    readonly element: HTMLTableRowElement;
    constructor(props: HeaderRowProps);
    cellClick(e: React.MouseEvent<HTMLAnchorElement>, column: GridColumnProps): void;
    cellClass(field: string | undefined, headerClassName: string | undefined): string;
    sortIcon(sortIndex: number): JSX.Element[];
    render(): JSX.Element[];
    private cells;
}
