# Interface VerificationServiceFunctions<T>

interface VerificationServiceFunctions<T> {
fetchExistingVerificationRequest: ((programId, verificationId, previousVerificationResponse?, previousViewModel?, needsLoading?) => Promise<object>);
fetchNewVerificationRequest: ((programId, segment, previousViewModel, trackingId?, forceNewVerificationRequest?) => Promise<object>);
resetState: (() => void);
submitStep: ((stepName, viewModel, previousResponse) => Promise<object>);
updateFieldValidationErrors: ((fieldValidationErrors) => void);
updateLocale: ((viewModel, programTheme, segment) => void);
updateProgramTheme: ((programTheme) => void);
updateViewModel: (<Opts>(viewModel, options?) => void);
}

#### Type Parameters

- T extends ViewModel = ViewModel

- Defined in src/lib/types/types.ts:2613

#####
Index

### Properties

fetchExistingVerificationRequest
fetchNewVerificationRequest
resetState
submitStep
updateFieldValidationErrors
updateLocale
updateProgramTheme
updateViewModel

## Properties

### `Readonly` fetchExistingVerificationRequest

fetchExistingVerificationRequest: ((programId, verificationId, previousVerificationResponse?, previousViewModel?, needsLoading?) => Promise<object>)

#### Type declaration

- - (programId, verificationId, previousVerificationResponse?, previousViewModel?, needsLoading?): Promise<object>

  - #### Parameters

    - programId: string
    - verificationId: string
    - `Optional` previousVerificationResponse: VerificationResponse
    - `Optional` previousViewModel: T
    - `Optional` needsLoading: boolean

    #### Returns Promise<object>

- Defined in src/lib/types/types.ts:2621

### `Readonly` fetchNewVerificationRequest

fetchNewVerificationRequest: ((programId, segment, previousViewModel, trackingId?, forceNewVerificationRequest?) => Promise<object>)

#### Type declaration

- - (programId, segment, previousViewModel, trackingId?, forceNewVerificationRequest?): Promise<object>

  - #### Parameters

    - programId: string
    - segment: Segment
    - previousViewModel: T
    - `Optional` trackingId: string
    - `Optional` forceNewVerificationRequest: boolean

    #### Returns Promise<object>

- Defined in src/lib/types/types.ts:2614

### `Readonly` resetState

resetState: (() => void)

#### Type declaration

- - (): void

  - #### Returns void

- Defined in src/lib/types/types.ts:2642

### `Readonly` submitStep

submitStep: ((stepName, viewModel, previousResponse) => Promise<object>)

#### Type declaration

- - (stepName, viewModel, previousResponse): Promise<object>

  - #### Parameters

    - stepName: VerificationStep
    - viewModel: T
    - previousResponse: VerificationResponse

    #### Returns Promise<object>

- Defined in src/lib/types/types.ts:2636

### `Readonly` updateFieldValidationErrors

updateFieldValidationErrors: ((fieldValidationErrors) => void)

#### Type declaration

- - (fieldValidationErrors): void

  - #### Parameters

    - fieldValidationErrors: FieldValidationErrors

    #### Returns void

- Defined in src/lib/types/types.ts:2635

### `Readonly` updateLocale

updateLocale: ((viewModel, programTheme, segment) => void)

#### Type declaration

- - (viewModel, programTheme, segment): void

  - #### Parameters

    - viewModel: T
    - programTheme: ProgramTheme
    - segment: Segment

    #### Returns void

- Defined in src/lib/types/types.ts:2641

### `Readonly` updateProgramTheme

updateProgramTheme: ((programTheme) => void)

#### Type declaration

- - (programTheme): void

  - #### Parameters

    - programTheme: ProgramTheme

    #### Returns void

- Defined in src/lib/types/types.ts:2634

### `Readonly` updateViewModel

updateViewModel: (<Opts>(viewModel, options?) => void)

#### Type declaration

- - <Opts>(viewModel, options?): void

  - #### Type Parameters

    - Opts extends Partial<ViewModelUpdateOptions> = {
      metadataCheck: false;
      partial: false;
      }

    #### Parameters

    - viewModel: Opts["partial"] extends true
      ? Partial<T>
      : T
    - `Optional` options: Opts

    #### Returns void

- Defined in src/lib/types/types.ts:2628