import React, { HTMLAttributes } from 'react';
export interface FilterProps {
/** Indicates an active state */
active?: boolean;
/** Child element(s) */
children: React.ReactNode | React.ReactNode[];
/** Whether clear button is active */
clearActive?: boolean;
/** Indicates a disabled state */
disabled?: boolean;
/** Height of the filter dropdown container */
dropdownHeight?: string;
/** Width of the filter dropdown container */
dropdownWidth?: string;
hideControls?: boolean;
/** The filter label */
label: string;
/** Name of the filter button */
name: string;
/** The apply button click callback event */
onApply: Function;
/** The clear button click callback event */
onClear: Function;
/** Called when sheet was closed */
onSheetClose?: Function;
}
declare class Filter extends React.Component, {
isActive: boolean;
sheetOverflowX: boolean;
}> {
static defaultProps: {
clearActive: boolean;
disabled: boolean;
hideControls: boolean;
};
button: {
current: null | HTMLButtonElement;
};
sheet: {
current: null | HTMLDivElement;
};
constructor(props: FilterProps);
componentDidMount: () => void;
componentDidUpdate: (prevProps: any, prevState: any) => void;
componentWillUnmount: () => void;
closeSheet: ({ target }: any) => void;
onApply: (event: React.MouseEvent) => void;
handleClick: () => void;
render(): JSX.Element;
}
export default Filter;