import { MutableRefObject, PropsWithChildren, ReactElement, ReactNode } from 'react';
export type BottomSheetProps = {
    /**
     * Set the visibility of the bottom sheet. The component is already mounted and just moved offscreen.
     *
     * @default false
     */
    show: boolean;
    /**
     * Callback for when the sheet closes.
     */
    onClose?: (isShown: boolean) => void;
    /**
     * The width of the bottom sheet. This is useful for desktop when not using the entire screen width.
     * When no width is given it will take the width of the content and maximum `100%` of the screen.
     * So it this case you might want to apply a `max-width-xxx` via `className` to control it better.
     */
    width?: number | string;
    /**
     * The height of the bottom sheet. If no height is given, the height is automatically
     * calculated from the content.
     */
    height?: number | string;
    /**
     * The title content shown in the header. If no title is given, the bottom sheet header is not shown.
     */
    title?: string | ReactNode;
    /**
     * Defines whether or not the close button is shown.
     * @default true
     */
    showCloseButton?: boolean;
    /**
     * Defines whether or not the maximize button in the header is shown.
     * @default false
     */
    showMaximizeButton?: boolean;
    /**
     * The callback function triggered when the maximize button is clicked and the height changes.
     *
     * @default () => {}
     */
    onHeightChange?: VoidFunction;
    /**
     * Set to `true` to detach the bottom sheet from the left side and the bottom and create a little offset.
     *
     * @default false
     */
    detach?: boolean;
    /**
     * Defines the amount of pixels for the sheet.
     *
     * @default 15
     */
    detachOffset?: number;
    /**
     * Set to `true` to render a modal like backdrop to emphasize the bottom sheet.
     *
     * @default false
     */
    hasBackdrop?: boolean;
    /**
     * Callback function triggered when the backdrop is clicked. Usually used to close the bottom sheet.
     *
     * @default () => {}
     */
    onBackdropClick?: VoidFunction;
    /**
     * A react ref added to the bottom sheet body.
     */
    bodyRef?: MutableRefObject<HTMLDivElement | null>;
    /**
     * Additional classes to be set on the body element.
     */
    bodyClassName?: string;
    /**
     * Additional classes to be set on the wrapping element.
     */
    className?: string;
};
declare const BottomSheet: (props: BottomSheetProps & PropsWithChildren) => ReactElement;
export default BottomSheet;
