import { PureComponent, ReactNode } from 'react'; import { PickDefaultProps } from '../utils-typescript'; import { IconProps } from '../Icon/icon'; interface ShallowDropDownHeaderTheme { readonly 'dropDown__btn': string; readonly 'dropDown__btnLabel': string; readonly 'dropDown__btn--withChevron': string; readonly 'dropDown__chevron': string; } export interface ShallowDropDownHeaderProps { /** * An optional `id` to attach to the wrapper. */ readonly id?: string; /** * An optional `className` to attach to the wrapper. */ readonly className?: string; /** * Icon to use if the dropdown is opened */ readonly iconIsOpen: string; /** * Icon to use if the dropdown is opened */ readonly iconIsClosed: string; /** * These props control the visual state of the contents, and are passed * from the outside via the `ContextDropDownHeader` component. */ readonly isOpen: boolean; readonly showDropDownToggle?: boolean; /** * If TRUE, will keep the focussed state of the element when re-drawing. * Must be set to FALSE when connected components want to manage the focus state themselves (e.g. * when this component is used to build a select box) */ readonly shouldKeepFocusState?: boolean; /** * Disable the onclick handler if disabled */ readonly disabled?: boolean; /** * An interal prop for testing purposes, do not set this prop manually. */ readonly _refHandler?: (isFocused: boolean) => (node: any) => void; readonly toggleDropDown: () => void; /** * A object wich will be spreaded on the icon component */ readonly iconRest?: Partial; /** * The contents to be rendered within the header. */ readonly children?: ReactNode; /** * An optional css theme to be injected. */ readonly theme?: ShallowDropDownHeaderTheme; } declare type DefaultProps = PickDefaultProps; export declare const defaultProps: DefaultProps; declare class ShallowDropDownHeader extends PureComponent { static readonly defaultProps: Readonly>>; render(): JSX.Element; private readonly handleReferenceHandler; } export default ShallowDropDownHeader;