# Interface FormDefinition<T, E, JSON>

interface FormDefinition<T, E, JSON> {
rxapFormGroup: RxapFormGroup<T, E>;
rxapMetadata: FormDefinitionMetadata;
getSubmitValue?(): JSON;
rxapReuse?(): void;
toJSON?(): JSON;
}

#### Type Parameters

- T = any
- E extends object = any
- JSON extends Record<string, any> = any

- Defined in packages/angular/forms/src/lib/model.ts:54

#####
Index

### Properties

rxapFormGroup
rxapMetadata

### Methods

getSubmitValue?
rxapReuse?
toJSON?

## Properties

### rxapFormGroup

rxapFormGroup: RxapFormGroup<T, E>

- Defined in packages/angular/forms/src/lib/model.ts:58

### rxapMetadata

rxapMetadata: FormDefinitionMetadata

used to access the form definition metadata type save

- Defined in packages/angular/forms/src/lib/model.ts:63

## Methods

### `Optional` getSubmitValue

- getSubmitValue(): JSON

- Called to get the value that should be submitted. If not defined the value property of the root RxapFormGroup instance will be used

  #### Returns JSON

  - Defined in packages/angular/forms/src/lib/model.ts:75

### `Optional` rxapReuse

- rxapReuse(): void

- The Reuse hook is called when the instance is reused. And can be used to reset or alter the local state of the instance.

  #### Returns void

  - Defined in packages/angular/forms/src/lib/model.ts:69

### `Optional` toJSON

- toJSON(): JSON

- Called to get the value that should be submitted. If not defined the value property of the root RxapFormGroup instance will be used

  #### Returns JSON

  - Defined in packages/angular/forms/src/lib/model.ts:81