import { MutableRefObject } from "react";
import { DButtonProps } from "../..";
export type DPopupRef = {
    show: () => void;
    hide: () => void;
};
export type DPopupInterfaceProps<T = unknown> = React.PropsWithChildren & Omit<DButtonProps, "type" | "className" | "size"> & {
    onShow?: () => void;
    onHide?: () => void;
    initialIsPop?: boolean;
    title?: string;
    useButton?: boolean | "button" | "icon";
    buttonClassName?: string;
    buttonElement?: React.ReactNode;
    buttonSize?: "sm" | "lg";
    isCallBackClose?: boolean;
    callBack?: (data: T) => void;
    popupRef?: MutableRefObject<DPopupRef | null>;
    size?: "sm" | "lg" | "xl";
    fullscreen?: true | string | "sm-down" | "md-down" | "lg-down" | "xl-down" | "xxl-down";
    bsPrefix?: string;
    centered?: boolean;
    backdropClassName?: string;
    backDrop?: boolean;
    animation?: boolean;
    modalClassName?: string;
    modalBodyClassName?: string;
    dialogClassName?: string;
    contentClassName?: string;
    dialogAs?: React.ElementType;
    scrollable?: boolean;
    icon?: string;
};
export declare const DPopupInterface: <T>({ onShow, onHide, initialIsPop, title, useButton, buttonElement, buttonClassName, isCallBackClose, callBack, children, variant, backDrop, iconPosition, buttonSize, defaultIcon, icon, outline, popupRef, sizeRatio, modalClassName, modalBodyClassName, ...modalProps }: DPopupInterfaceProps<T>) => import("react").JSX.Element;
export default DPopupInterface;
