import { PropsWithChildren } from "react";
import { PositionOptions, PopupPresenterProps } from "@notesnook/ui";
import React from "react";
import { ResponsivePresenterProps } from "../responsive";
export type PopupWrapperProps = UsePopupHandlerOptions & {
    autoCloseOnUnmount?: boolean;
    position: PositionOptions;
} & Partial<Omit<PopupPresenterProps, "onClose">>;
export declare function PopupWrapper(props: PropsWithChildren<PopupWrapperProps>): import("react/jsx-runtime").JSX.Element;
type UsePopupHandlerOptions = {
    id: string;
    group: string;
    isOpen: boolean;
    onClosed?: () => void;
};
export declare function usePopupHandler(options: UsePopupHandlerOptions): {
    isPopupOpen: boolean;
    closePopup: (popupId: string) => void;
};
type ShowPopupOptions = {
    popup: (closePopup: () => void) => React.ReactNode;
} & Partial<ResponsivePresenterProps>;
export declare function showPopup(options: ShowPopupOptions): () => void;
export {};
