import { FlowError } from "./flowError"; import { PublicKeyCredentialWithAssertionJSON, PublicKeyCredentialWithAttestationJSON } from "@github/webauthn-json"; export interface Input { readonly name: string; readonly type: string; readonly value?: TValue; readonly min_length?: number; readonly max_length?: number; readonly required?: boolean; readonly hidden?: boolean; readonly error?: FlowError; readonly allowed_values?: AllowedInputValues[]; } export interface AllowedInputValues { readonly name: string; readonly value: string; } export interface PasswordRecoveryInputs { readonly new_password: Input; } export interface WebauthnVerifyAssertionResponseInputs { readonly assertion_response: Input; } export interface WebauthnVerifyAttestationResponseInputs { readonly public_key: Input; } export interface RegisterLoginIdentifierInputs { readonly email?: Input; readonly username?: Input; } export interface RegisterPasswordInputs { readonly new_password: Input; } export interface RegisterClientCapabilitiesInputs { readonly webauthn_available: Input; readonly webauthn_conditional_mediation_available: Input; readonly webauthn_platform_authenticator_available: Input; } export interface ContinueWithLoginIdentifierInputs { readonly identifier?: Input; readonly email?: Input; readonly username?: Input; } export interface VerifyPasscodeInputs { readonly code: Input; } export interface EmailCreateInputs { readonly email: Input; } export interface EmailDeleteInputs { readonly email_id: Input; } export interface EmailSetPrimaryInputs { readonly email_id: Input; } export interface EmailVerifyInputs { readonly email_id: Input; } export interface PasswordInputs { readonly password: Input; } export interface PatchMetadataInputs { readonly patch_metadata: Input>; } export interface UsernameSetInputs { readonly username: Input; } export interface SecurityKeyDeleteInputs { readonly security_key_id: Input; } export interface PasskeyCredentialRenameInputs { readonly passkey_id: Input; readonly passkey_name: Input; } export interface PasskeyCredentialDeleteInputs { readonly passkey_id: Input; } export interface ExchangeTokenInputs { readonly token: Input; readonly code_verifier?: Input; } export interface ThirdpartyOauthInputs { readonly provider: Input; readonly redirect_to: Input; readonly code_verifier?: Input; } export interface DisconnectThirdpartyInputs { readonly identity_id: Input; } export interface RememberMeInputs { readonly remember_me: Input; } export interface SessionDeleteInputs { readonly session_id: Input; } export interface OTPCodeInputs { readonly otp_code: Input; }