import React, { MutableRefObject, Ref } from 'react'; import { Props } from '../../types.js'; import { PropsForFeatures } from '../../utils/render.js'; interface DisclosureRenderPropArg { open: boolean; close(focusableElement?: HTMLElement | MutableRefObject): void; } interface ButtonRenderPropArg { open: boolean; } declare type ButtonPropsWeControl = 'type' | 'aria-expanded' | 'aria-controls' | 'onKeyDown' | 'onClick'; interface PanelRenderPropArg { open: boolean; close: (focusableElement?: HTMLElement | MutableRefObject) => void; } declare let PanelRenderFeatures: number; export declare let Disclosure: ( = React.ExoticComponent<{ children?: React.ReactNode; }>>(props: Omit, "as" | "children" | "refName" | "className"> & { as?: TTag | undefined; children?: React.ReactNode | ((bag: DisclosureRenderPropArg) => React.ReactElement>); refName?: string | undefined; } & (true extends (import('../../types.js').PropsOf extends never ? never : "className" extends keyof import('../../types.js').PropsOf ? true : never) ? { className?: import('../../types.js').PropsOf["className"] | ((bag: DisclosureRenderPropArg) => string) | undefined; } : {}) & { defaultOpen?: boolean | undefined; }, ref: React.Ref) => JSX.Element) & { displayName: string; } & { Button: ( = "button">(props: Props, ref: Ref) => React.ReactElement> | null) & { displayName: string; }; Panel: ( = "div">(props: Omit, "as" | "children" | "refName" | "className"> & { as?: TTag_2 | undefined; children?: React.ReactNode | ((bag: PanelRenderPropArg) => React.ReactElement>); refName?: string | undefined; } & (true extends (import('../../types.js').PropsOf extends never ? never : "className" extends keyof import('../../types.js').PropsOf ? true : never) ? { className?: import('../../types.js').PropsOf["className"] | ((bag: PanelRenderPropArg) => string) | undefined; } : {}) & (({ static?: undefined; } & { unmount?: boolean | undefined; }) | ({ unmount?: undefined; } & { static?: boolean | undefined; })), ref: Ref) => JSX.Element) & { displayName: string; }; }; export {};