> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-docs-event-stream-action-templates.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# TransactionMembers

```ts Example theme={null}
export interface TransactionMembers {
  state: string;
  locale: string;
  countryCode: CountryCode['code'] | null;
  countryPrefix: CountryCode['prefix'] | null;
  connectionStrategy: string | null;
  hasErrors: boolean;
  errors: Error[] | null;
  currentConnection: Connection | null;
  alternateConnections: (Connection | EnterpriseConnection)[] | null;
}
```

## Properties

<ParamField body="alternateConnections" type={<span><a href="#connection">[Connection]</a> | <a href="#enterpriseconnection">[EnterpriseConnection][]</a></span>} />

<ParamField body="connectionStrategy" type="string" />

<ParamField body="countryCode" type="string" />

<ParamField body="countryPrefix" type="string" />

<ParamField body="currentConnection" type={<span><a href="#connection">Connection</a></span>} />

<ParamField body="errors" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/Error">[Error]</a></span>} />

<ParamField body="hasErrors" type="boolean" />

<ParamField body="locale" type="string" />

<ParamField body="state" type="string" />

## Connection

```ts theme={null}
export interface Connection {
  name: string;
  strategy: string;
  metadata?: Record<string, string>;
}
```

### Properties

<ParamField body="metadata?" type="Record<string, string>" />

<ParamField body="name" type="string" />

<ParamField body="strategy" type="string" />

## EnterpriseConnection

```ts theme={null}
export interface EnterpriseConnection extends Connection {
  options: {
    iconUrl?: string;
    displayName?: string;
    showAsButton: boolean;
  };
}
```

### Properties

<ParamField body="metadata?" type="Record<string, string>" />

<ParamField body="name" type="string" />

<ParamField body="options" type="object">
  <Expandable title="properties">
    <ParamField body="displayName?" type="string" />

    <ParamField body="iconUrl?" type="string" />

    <ParamField body="showAsButton" type="boolean" />
  </Expandable>
</ParamField>

<ParamField body="strategy" type="string" />

## DBConnection

```ts Example theme={null}
export interface DBConnection extends Connection {
  options: {
    signup_enabled: boolean;
    flexible_identifiers_active?: boolean;
    forgot_password_enabled: boolean;
    username_required?: boolean;
    validation?: {
      username: {
        max_length: number;
        min_length: number;
      };
    };
    attributes?: {
      email?: {
        signup_status: string;
        identifier_active: boolean;
      };
      username?: {
        signup_status: string;
        identifier_active: boolean;
        validation?: {
          max_length: number;
          min_length: number;
          allowed_types: {
            email: boolean;
            phone_number: boolean;
          };
        };
      };
      phone?: {
        signup_status: string;
        identifier_active: boolean;
      };
    };
    authentication_methods: {
      password: {
        enabled: boolean;
        policy: string;
        min_length: number;
        password_security_info?: PasswordComplexityRule[];
      };
      passkey: {
        enabled: boolean;
      };
    };
  };
}
```

### Properties

<ParamField body="options" type="object">
  <Expandable title="properties">
    <ParamField body="signup_enabled" type="boolean" />

    <ParamField body="flexible_identifiers_active" type="boolean" />

    <ParamField body="forgot_password_enabled" type="boolean" />

    <ParamField body="username_required" type="boolean" />

    <ParamField body="validation" type="object">
      **Properties**

      <ParamField body="username" type="object">
        **Properties**

        <ParamField body="max_length" type="number" />

        <ParamField body="min_length" type="number" />
      </ParamField>
    </ParamField>

    <ParamField body="attributes" type="object">
      **Properties**

      <ParamField body="email" type="object">
        **Properties**

        <ParamField body="signup_status" type="string" />

        <ParamField body="identifier_active" type="boolean" />
      </ParamField>

      <ParamField body="username" type="object">
        **Properties**

        <ParamField body="signup_status" type="string" />

        <ParamField body="identifier_active" type="boolean" />

        <ParamField body="validation" type="object">
          **Properties**

          <ParamField body="max_length" type="number" />

          <ParamField body="min_length" type="number" />

          <ParamField body="allowed_types" type="object">
            **Properties**

            <ParamField body="email" type="boolean" />

            <ParamField body="phone_number" type="boolean" />
          </ParamField>
        </ParamField>
      </ParamField>

      <ParamField body="phone" type="object">
        **Properties**

        <ParamField body="signup_status" type="string" />

        <ParamField body="identifier_active" type="boolean" />
      </ParamField>
    </ParamField>

    <ParamField body="authentication_methods" type="object">
      **Properties**

      <ParamField body="password" type="object">
        **Properties**

        <ParamField body="enabled" type="boolean" />

        <ParamField body="policy" type="string" />

        <ParamField body="min_length" type="number" />

        <ParamField body="password_security_info" type="PasswordComplexityRule[]" />
      </ParamField>

      <ParamField body="passkey" type="object">
        <ParamField body="enabled" type="boolean" />
      </ParamField>
    </ParamField>
  </Expandable>
</ParamField>

## PasswordlessConnection

```ts Example theme={null}
export interface PasswordlessConnection extends Connection {
  options: {
    signup_enabled: boolean;
  };
}
```

### Properties

<ParamField body="options" type="object">
  <Expandable title="properties">
    <ParamField body="signup_enabled" type="boolean" />
  </Expandable>
</ParamField>

## SocialConnection

```ts Example theme={null}
export interface SocialConnection extends Connection {}
```

## PasswordPolicy

```ts theme={null}
export interface PasswordPolicy {
  enabled?: boolean;
  minLength?: number;
  policy: 'none' | 'low' | 'fair' | 'good' | 'excellent';
  passwordSecurityInfo?: PasswordComplexityRule[];
}
```

### Properties

<ParamField body="enabled?" type="boolean" />

<ParamField body="minLength?" type="number" />

<ParamField body="passwordSecurityInfo?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/PasswordComplexityRule">[PasswordComplexityRule][]</a></span>} />

<ParamField body="policy" type="&#x22;none&#x22; | &#x22;low&#x22; | &#x22;fair&#x22; | &#x22;good&#x22; | &#x22;excellent&#x22;" />
