//#region src/plus/saasRegister/types.d.ts
declare enum SRStepStatus {
  /** 邮箱已被注册 */
  FAILED_EMAIL_REGISTERED = "failed_email_registered",
  /** 链接过期 */
  FAILED_LINK_EXPIRED = "failed_link_expired",
  /** 链接无效 */
  FAILED_LINK_INVALID = "failed_link_invalid",
  /** 链接中邮箱已被注册 */
  FAILED_LINK_EMAIL_REGISTERED = "failed_link_email_registered"
}
declare enum SRStepKey {
  /** 输入邮箱 */
  ENTRY_EMAIL = "entry_email",
  /** 邮箱等待验证 */
  WAIT_VERIFY_EMAIL = "wait_verify_email",
  /** 邮箱验证中 */
  VERIFYING_EMAIL = "verifying_email",
  /** 录入信息 */
  ENTRY_INFO = "entry_info",
  /** 验证失败 */
  VERIFY_FAILED = "verify_failed"
}
interface SRStep {
  key: SRStepKey;
  status?: SRStepStatus;
  params?: {
    [key: string]: any;
  };
}
interface SRProps {
  /** 是否显示Logo */
  showLogo?: boolean;
  /** Logo图片地址 */
  logo?: string;
  /** Logo位置 */
  logoPosition?: 'left' | 'center' | 'right';
  /** Logo尺寸 */
  logoSize?: {
    width?: number;
    height?: number;
  };
  /** 是否显示欢迎语 */
  showWelcomeMessage?: boolean;
  /** 欢迎语 */
  welcomeMessage?: string;
  /** 欢迎语对齐方式 */
  welcomeMessageAlign?: 'left' | 'center' | 'right';
  /** 是否显示标题 */
  showTitle?: boolean;
  /** 标题 */
  title?: string;
  /** 标题对齐方式 */
  titleAlign?: 'left' | 'center' | 'right';
  /** 副标题 */
  subtitle?: string;
  /** 是否显示副标题 */
  showSubtitle?: boolean;
  /** 副标题对齐方式 */
  subtitleAlign?: 'left' | 'center' | 'right';
  /** 邮箱输入框标题 */
  emailLabel?: string;
  /** 邮箱输入框占位符 */
  emailPlaceholder?: string;
  /** 按钮文本 */
  buttonText?: string;
  /** 密码输入框标题 */
  passwordLabel?: string;
  /** 密码输入框占位符 */
  passwordPlaceholder?: string;
  /** 是否显示分割线 */
  showDivider?: boolean;
  /** 分割线文案 */
  dividerText?: string;
  /** 是否显示名字 */
  showFirstName?: boolean;
  /** 是否显示姓氏 */
  showLastName?: boolean;
  /** 是否显示去登录入口 */
  showLogin?: boolean;
  /** 去登录入口对齐方式 */
  loginAlign?: 'left' | 'center' | 'right';
  /** 是否显示去登录入口文本 */
  showLoginText?: boolean;
  /** 去登录入口文本 */
  loginText?: string;
  /** 是否显示去登录入口链接文本 */
  showLoginLinkText?: boolean;
  /** 去登录入口链接文本 */
  loginLinkText?: string;
  /** 邮箱验证回调 */
  onVerifyEmail?: (email: string) => Promise<boolean>;
  /** 重新发送验证码回调 */
  onSendEmail?: (email: string) => Promise<void>;
  /** 去登录入口点击回调 */
  onGoLogin?: () => void;
  /** 验证链接回调 */
  onVerifyLink?: (emailToken: string) => Promise<{
    code: number;
  }>;
  /** 信息录入回调 */
  onEntryInfo?: (info: any) => Promise<void>;
  /** step 变化回调 */
  onStepChange?: (step: SRStep) => void;
}
//#endregion
export { SRProps };