import { ReactNode, SyntheticEvent } from 'react'; import { useAuth } from '../../../compat/better-auth/react.js'; import { AthenaAuthUiOptions, useResolvedAuthUiOptions } from '../core/ui-options.js'; import { resolveAuthPluginButtons } from './use-auth-plugin-buttons.js'; import { useAuthProviders } from './use-auth-providers.js'; export interface SignUpControllerOptions { id?: string; ui?: AthenaAuthUiOptions; } export interface SignUpController { additionalFields: ReturnType["additionalFields"]; captcha: ReactNode; classNames: NonNullable["classNames"]>["signUp"]; emailAndPassword: ReturnType["emailAndPassword"]; form: { confirmPassword: string; email: string; name: string; password: string; setConfirmPassword: (value: string) => void; setEmail: (value: string) => void; setName: (value: string) => void; setPassword: (value: string) => void; }; hasVisibleSocialProviders: boolean; isNameRequired: boolean; isPasswordConfirmationEnabled: boolean; localization: ReturnType["localization"]; logo: ReactNode; pending: boolean; pluginButtons: ReturnType; providers: ReturnType; resolvedUi: ReturnType; routes: { afterSignUp: string; checkEmail: string; signIn: string; }; separatorLabel: ReactNode; signInLinkLabel: ReactNode; signInPrompt: ReactNode; signUpEmailPending: boolean; submit: (event: SyntheticEvent) => Promise; submitDisabled: boolean; submitLabel: ReactNode; title: ReactNode; traceId: string; } export declare function useSignUpController({ id, ui }?: SignUpControllerOptions): SignUpController;