import type { CSSProperties, HTMLAttributes, ReactElement, ReactNode } from 'react';
type WithDisclosure = {
disclosure: ReactElement;
visible?: never;
};
type Controlled = {
disclosure?: never;
visible: boolean;
};
type DialogFnProps = {
onClose: () => void;
};
export type FloatingDrawerProps = {
id?: string;
header?: ((dialog: DialogFnProps) => ReactNode) | ReactNode;
children: ((dialog: DialogFnProps) => ReactNode) | ReactNode;
footer?: ((dialog: DialogFnProps) => ReactNode) | ReactNode;
withTransition?: boolean;
onClose?: () => void;
['aria-label']: string;
} & (WithDisclosure | Controlled);
export type DrawerProps = FloatingDrawerProps;
export declare const FloatingDrawer: {
({ id, withTransition, disclosure, header, children, footer, visible, onClose, ...props }: DrawerProps): import("react/jsx-runtime").JSX.Element;
displayName: string;
Container: {
({ children, style, ...props }: ContainerPropTypes): import("react/jsx-runtime").JSX.Element;
displayName: string;
};
};
type ContainerPropTypes = HTMLAttributes & {
children: ReactNode | ReactNode[];
style?: Omit;
};
export {};