///
import * as React from 'react';
import { ChangeEvent, Component, HTMLProps, MouseEvent } from 'react';
import { SelectOption, ViewMode, ViewModeButton } from './models';
export interface HeaderProps {
hideSearchByField: boolean;
hideToggleFilterButton: boolean;
hideViewModeButton: boolean;
hideTotalInfo: boolean;
mainButton: HTMLProps;
noSearchBarCollapse: boolean;
searchPropertyOptions: SelectOption[];
searchInputPlaceholder: string;
searchTerm: string;
total: number;
viewMode: ViewMode;
viewModeButtons?: ViewModeButton[];
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 {
static defaultProps: Partial;
private searchInput;
constructor(props: HeaderProps);
render(): JSX.Element;
renderMainButton(): JSX.Element;
renderOptions: () => JSX.Element[];
renderViewModeButtons: () => JSX.Element[];
handleViewModeChange: (viewMode: "table" | "cards" | "map") => () => void;
handleSearchTermChange: (e: React.ChangeEvent) => void;
handleRemoveIconClick: () => void;
handleSearchIconClick: () => void;
getDefaultValueForSelect: () => string;
toggleHeaderRightContainer: () => void;
toggleViewModeMenu: () => void;
}