import { PropsWithChildren } from 'react';
type TimedBottomSheetProps = {
    /**
     * The `dismissed` flag can be used to tell this component that the user has clicked on the content
     * of the component like a button or a link. In this case, the bottom sheet will store a flag in the
     * localStorage to hide the bottom sheet for the next time and it will close the sheet right away.
     *
     * @default false
     */
    dismissed?: boolean;
    /**
     * The `featureName` prop is used to name the localStorage flag that is used to control the visibility.
     * It should be unique to avoid conflicts with other timed bottom sheets.
     */
    featureName: string;
    /**
     * Defines the time in milliseconds when the bottom sheet shall be shown. Default value is 0 to show it right away.
     *
     * @default 0
     */
    showAfter?: number;
    /**
     * Defines the time in milliseconds when the bottom sheet hides itself automatically. Default value is 3_600_000
     * to hide it after 1 hour. In this case, the localStorage flag is not set and the bottom sheet will be shown
     * on the next page load.
     *
     * @default 3_600_000
     */
    hideAfter?: number;
    /**
     * With this enabled, the BottomSheet will not hide automatically.
     *
     * @default false
     */
    alwaysOn?: boolean;
    /**
     * Enables or disabled the close button.
     *
     * @default true
     */
    showCloseButton?: boolean;
    /**
     * Optional width of the bottom sheet. Alternatively, you can set a `max-width-xxx` via className instead.
     */
    width?: number;
    /**
     * Flag to allow to remove the localStorage flag again once the component is not needed anymore.
     *
     * @default false
     */
    cleanupLocalStorage?: boolean;
    /**
     * A prefix that will be used for the local storage flag to store whether the bottom sheet should be hidden.
     *
     * Use this prefix for your service name for instance.
     */
    localStoragePrefix?: string;
    /**
     * Callback function that gets triggered when the user closed the bottom sheet with the close button.
     *
     * @default () => {}
     * @returns void
     */
    onClose?: () => void;
    /**
     * Optional className to be set on the body.
     *
     * @default 'padding-25 margin-right-25'
     */
    bodyClassName?: string;
    /**
     * Optional className to be set on the component. Use this to define a max-width value.
     */
    className?: string;
};
/**
 * A wrapper component for the BottomSheet that allows to control it's visibility via timers and to use
 * the localStorage to save user interaction.
 *
 * Don't forget to cleanup the localStorage for the user when removing a feature
 * by setting "cleanupLocalStorage" to "true" and deploy it like this.
 * The cleanup will remove the localStorage flag on mount and will not show the bottom sheet.
 *
 * @example
    const [isDismissed, setIsDismissed] = useState(false);

    const handleClose = () => { // If needed trigger Google Analytics here };

    return (
        <TimedBottomSheet
            dismissed={isDismissed}
            featureName='dummyBottomSheet'
            showAfter={1_000}
            hideAfter={15_000}
            className='max-width-500'
            onClose={handleClose}
        >
            <div className='display-flex align-items-center gap-20'>
                Lorem ipsum dolor sit amet
                <Button bsStyle={Button.PRIMARY} onClick={() => setIsDismissed(true)}>
                    Got it
                </Button>
            </div>
        </TimedBottomSheet>
    );
 */
export declare const TimedBottomSheet: (props: PropsWithChildren<TimedBottomSheetProps>) => import("react/jsx-runtime").JSX.Element;
export default TimedBottomSheet;
