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;
    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;
    animation?: boolean;
    dialogClassName?: string;
    contentClassName?: string;
    dialogAs?: React.ElementType;
    scrollable?: boolean;
};
export declare const DPopupInterface: <T>({ onShow, onHide, initialIsPop, title, useButton, buttonElement, isCallBackClose, callBack, children, variant, iconPosition, buttonSize, defaultIcon, outline, popupRef, ...modalProps }: DPopupInterfaceProps<T>) => import("react").JSX.Element;
export default DPopupInterface;
