'use client';

import { default as React } from 'react';
export interface SignInModalProps {
    /**
     * Whether the modal is open
     */
    isOpen?: boolean;
    /**
     * Callback for when modal should close
     */
    onClose?: () => void;
    /**
     * Modal size
     */
    modalSize?: 'sm' | 'md' | 'lg' | 'xl' | 'full';
    /**
     * Whether modal can be closed by clicking backdrop
     */
    closeOnBackdropClick?: boolean;
    /**
     * Whether modal can be closed by pressing escape
     */
    closeOnEscape?: boolean;
    /**
     * Custom modal className
     */
    modalClassName?: string;
    /**
     * Show close button
     */
    showCloseButton?: boolean;
    /**
     * Sign-in methods to show
     */
    methods?: ('password' | 'oauth' | 'magic-link' | 'passkey' | 'sso')[];
    /**
     * Initial email value
     */
    email?: string;
    /**
     * Initial organization ID
     */
    organizationId?: string;
    /**
     * Redirect URL after successful sign-in
     */
    redirectUrl?: string;
    /**
     * Success callback
     */
    onSuccess?: (result: any) => void;
    /**
     * Error callback
     */
    onError?: (error: Error) => void;
    /**
     * Custom title
     */
    title?: string;
    /**
     * Custom subtitle
     */
    subtitle?: string;
    /**
     * Form size
     */
    size?: 'sm' | 'md' | 'lg';
    /**
     * Whether to show branding
     */
    showBranding?: boolean;
    /**
     * Disabled state
     */
    disabled?: boolean;
    /**
     * Show sign-up link
     */
    showSignUpLink?: boolean;
    /**
     * Show forgot password link
     */
    showForgotPasswordLink?: boolean;
    /**
     * Custom footer content
     */
    footer?: React.ReactNode;
    /**
     * Custom header content
     */
    header?: React.ReactNode;
    /**
     * Modal backdrop blur
     */
    backdrop?: 'opaque' | 'blur' | 'transparent';
    /**
     * Modal placement
     */
    placement?: 'auto' | 'top' | 'center' | 'bottom';
    /**
     * Custom modal header
     */
    modalHeader?: React.ReactNode;
    /**
     * Custom modal footer
     */
    modalFooter?: React.ReactNode;
    /**
     * Hide modal header
     */
    hideHeader?: boolean;
    /**
     * Hide modal footer
     */
    hideFooter?: boolean;
    /**
     * Modal scroll behavior
     */
    scrollBehavior?: 'inside' | 'outside';
    showOrganizationSelector?: boolean;
}
export declare function SignInModal({ isOpen, onClose, modalSize, closeOnBackdropClick, closeOnEscape, modalClassName, showCloseButton, methods, email, organizationId, redirectUrl, onSuccess, onError, title, subtitle, size, showBranding, disabled, showSignUpLink, showForgotPasswordLink, footer, header, backdrop, placement, modalHeader, modalFooter, hideHeader, hideFooter, scrollBehavior, }: SignInModalProps): import("react/jsx-runtime").JSX.Element;
/**
 * Hook for managing sign-in modal state
 */
export declare function useSignInModal(): {
    isOpen: boolean;
    open: () => void;
    close: () => void;
    toggle: () => void;
    setIsOpen: React.Dispatch<React.SetStateAction<boolean>>;
};
export interface SignInModalWithTriggerProps extends SignInModalProps {
    /**
     * Trigger element
     */
    trigger?: React.ReactElement;
    /**
     * Trigger props (for default button)
     */
    triggerProps?: {
        children?: React.ReactNode;
        variant?: 'solid' | 'bordered' | 'light' | 'flat' | 'faded' | 'shadow' | 'ghost';
        color?: 'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'danger';
        size?: 'sm' | 'md' | 'lg';
        fullWidth?: boolean;
        startContent?: React.ReactNode;
        endContent?: React.ReactNode;
        className?: string;
        disabled?: boolean;
    };
}
/**
 * Sign In Modal with built-in trigger button
 */
export declare function SignInModalWithTrigger({ trigger, triggerProps, ...modalProps }: SignInModalWithTriggerProps): import("react/jsx-runtime").JSX.Element;
export default SignInModal;
//# sourceMappingURL=sign-in-modal.d.ts.map