'use client';

import { BaseSignUpProps, SignUpCardProps, SignUpFormProps, SignUpModalProps } from './index';
export interface SignUpProps extends BaseSignUpProps {
    /**
     * Render mode
     */
    mode?: 'form' | 'modal' | 'card';
    /**
     * Modal-specific props (when mode is 'modal')
     */
    modalProps?: Partial<SignUpModalProps>;
    /**
     * Card-specific props (when mode is 'card')
     */
    cardProps?: Partial<SignUpCardProps>;
    /**
     * Form-specific props (when mode is 'form' or not specified)
     */
    formProps?: Partial<SignUpFormProps>;
    /**
     * Auto-detect mode based on context
     */
    autoMode?: boolean;
}
/**
 * Universal Sign Up component that can render in different modes
 *
 * @example Form mode (default)
 * ```tsx
 * <SignUp
 *   methods={['password', 'oauth']}
 *   onSuccess={(result) => console.log('Signed up:', result)}
 * />
 * ```
 *
 * @example Modal mode
 * ```tsx
 * <SignUp
 *   mode="modal"
 *   isOpen={isModalOpen}
 *   onClose={() => setIsModalOpen(false)}
 *   onSuccess={(result) => console.log('Signed up:', result)}
 * />
 * ```
 *
 * @example Card mode
 * ```tsx
 * <SignUp
 *   mode="card"
 *   centered
 *   maxWidth={400}
 *   onSuccess={(result) => console.log('Signed up:', result)}
 * />
 * ```
 *
 * @example Auto-mode (detects context)
 * ```tsx
 * <SignUp
 *   autoMode
 *   onSuccess={(result) => console.log('Signed up:', result)}
 * />
 * ```
 */
export declare function SignUp({ mode, modalProps, cardProps, formProps, autoMode, ...baseProps }: SignUpProps): import("react/jsx-runtime").JSX.Element;
/**
 * Sign Up Form (explicit form mode)
 */
export declare function SignUpFormComponent(props: SignUpProps): import("react/jsx-runtime").JSX.Element;
/**
 * Sign Up Modal (explicit modal mode)
 */
export declare function SignUpModalComponent(props: SignUpProps): import("react/jsx-runtime").JSX.Element;
/**
 * Sign Up Card (explicit card mode)
 */
export declare function SignUpCardComponent(props: SignUpProps): import("react/jsx-runtime").JSX.Element;
/**
 * Organization Invitation Sign Up
 */
export interface OrganizationInviteSignUpProps extends Omit<SignUpProps, 'invitationToken' | 'organizationId'> {
    /**
     * Invitation token
     */
    invitationToken: string;
    /**
     * Organization name for display
     */
    organizationName?: string;
    /**
     * Inviter information
     */
    inviterInfo?: {
        name?: string;
        email?: string;
    };
}
export declare function OrganizationInviteSignUp({ invitationToken, organizationName, inviterInfo, title, subtitle, ...props }: OrganizationInviteSignUpProps): import("react/jsx-runtime").JSX.Element;
/**
 * Quick Sign Up (minimal fields)
 */
export declare function QuickSignUp(props: SignUpProps): import("react/jsx-runtime").JSX.Element;
/**
 * Comprehensive Sign Up (all fields)
 */
export declare function ComprehensiveSignUp(props: SignUpProps): import("react/jsx-runtime").JSX.Element;
/**
 * Social Sign Up (OAuth only)
 */
export declare function SocialSignUp(props: SignUpProps): import("react/jsx-runtime").JSX.Element;
/**
 * Passwordless Sign Up (magic link + passkey)
 */
export declare function PasswordlessSignUp(props: SignUpProps): import("react/jsx-runtime").JSX.Element;
/**
 * Progressive Sign Up - starts simple, adds complexity as needed
 */
export declare function ProgressiveSignUp({ onSuccess, ...props }: SignUpProps): import("react/jsx-runtime").JSX.Element;
export default SignUp;
//# sourceMappingURL=sign-up.d.ts.map