'use client';

import { default as React } from 'react';
import { UserProfileProps } from './user-profile';
export interface UserProfileModalProps extends Omit<UserProfileProps, 'onClose' | 'headerContent'> {
    /**
     * Modal trigger element
     */
    trigger?: React.ReactNode;
    /**
     * Whether modal is open (controlled)
     */
    isOpen?: boolean;
    /**
     * Modal open change handler (controlled)
     */
    onOpenChange?: (isOpen: boolean) => void;
    /**
     * Modal size
     */
    modalSize?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | 'full';
    /**
     * Modal placement
     */
    placement?: 'auto' | 'top' | 'center' | 'bottom';
    /**
     * Modal backdrop type
     */
    backdrop?: 'transparent' | 'opaque' | 'blur';
    /**
     * Whether modal is dismissable
     */
    isDismissable?: boolean;
    /**
     * Whether to close on outside click
     */
    closeOnOutsideClick?: boolean;
    /**
     * Whether to hide close button
     */
    hideCloseButton?: boolean;
    /**
     * Custom modal className
     */
    modalClassName?: string;
    /**
     * Modal title
     */
    title?: string;
    /**
     * Modal subtitle
     */
    subtitle?: string;
    /**
     * Custom header content
     */
    customHeaderContent?: React.ReactNode;
    /**
     * Custom footer actions
     */
    footerActions?: React.ReactNode;
    /**
     * Show default footer actions
     */
    showDefaultFooter?: boolean;
    /**
     * Save button text
     */
    saveButtonText?: string;
    /**
     * Cancel button text
     */
    cancelButtonText?: string;
    /**
     * Save handler
     */
    onSave?: () => void;
    /**
     * Cancel handler
     */
    onCancel?: () => void;
    /**
     * Modal close handler
     */
    onClose?: () => void;
    /**
     * Whether save button is loading
     */
    isSaveLoading?: boolean;
    /**
     * Whether save button is disabled
     */
    isSaveDisabled?: boolean;
    /**
     * Scroll behavior
     */
    scrollBehavior?: 'inside' | 'outside';
    /**
     * Whether modal should be keyboard focusable
     */
    isKeyboardDismissDisabled?: boolean;
    /**
     * Portal container
     */
    portalContainer?: Element;
    /**
     * Auto focus element
     */
    autoFocus?: boolean;
    /**
     * Default tab to show when modal opens
     */
    defaultActiveTab?: string;
}
export declare function UserProfileModal({ trigger, isOpen: controlledIsOpen, onOpenChange: controlledOnOpenChange, modalSize, placement, backdrop, isDismissable, closeOnOutsideClick, hideCloseButton, modalClassName, title, subtitle, customHeaderContent, footerActions, showDefaultFooter, saveButtonText, cancelButtonText, onSave, onCancel, onClose, isSaveLoading, isSaveDisabled, scrollBehavior, isKeyboardDismissDisabled, portalContainer, autoFocus, defaultActiveTab, defaultTab, tabs, hideTabs, showOrganizationSettings, showSecuritySettings, showMFASettings, showPasskeySettings, className, variant, orientation, tabPlacement, footerContent, onProfileUpdate, onSuccess, onError, isLoading, isDisabled, size, customTabs, }: UserProfileModalProps): import("react/jsx-runtime").JSX.Element;
export declare function useUserProfileModal(): {
    openProfile: () => void;
    closeProfile: () => void;
    toggleProfile: () => void;
    isOpen: boolean;
    onOpen: () => void;
    onClose: () => void;
    onOpenChange: () => void;
    isControlled: boolean;
    getButtonProps: (props?: any) => any;
    getDisclosureProps: (props?: any) => any;
};
export default UserProfileModal;
//# sourceMappingURL=user-profile-modal.d.ts.map