///
import * as React from 'react';
import { ChangeEvent, Component, HTMLProps, MouseEvent, ReactNode } from 'react';
import { SelectOption, ViewMode } from './models';
export interface HeaderProps {
hideSearchByField: boolean;
hideToggleFilterButton: boolean;
hideViewModeButton: boolean;
hideTotalInfo: boolean;
mainButton: HTMLProps;
noSearchBarCollapse: boolean;
searchPropertyOptions: SelectOption[];
searchPropertyValue: string;
searchInputPlaceholder: string;
searchTerm: string;
total: number;
viewMode: ViewMode;
viewModeButtons: ViewMode[];
viewModeCustomElement: ReactNode;
onTypeSearchTerm: (term: string) => void;
onChangeSearchProperty: (e: ChangeEvent) => void;
onChangeViewMode: (viewMode: ViewMode) => void;
onClickToggleFiltersButton: (e: MouseEvent) => void;
}
export interface State {
showSearchInput: boolean;
viewModeMenuActive: boolean;
}
export declare class DatagridHeader extends Component {
private searchInput;
constructor(props: HeaderProps);
render(): JSX.Element;
renderMainButton(): JSX.Element;
renderOptions: () => JSX.Element[];
renderViewModeButtons: () => JSX.Element[];
handleViewModeChange: (viewMode: ViewMode) => () => void;
handleSearchTermChange: (e: React.ChangeEvent) => void;
handleRemoveIconClick: () => void;
handleSearchIconClick: () => void;
toggleHeaderRightContainer: () => void;
toggleViewModeMenu: () => void;
}