import { Rule } from '@angular-devkit/schematics'; import { ClassDeclaration, SourceFile } from 'ts-morph'; import { TsMorphAngularProjectTransformOptions } from '../ts-morph-transform'; import { AbstractControl } from '../types/abstract-control'; export interface CoerceFormDefinitionOptions extends TsMorphAngularProjectTransformOptions { controlList?: ReadonlyArray; name: string; tsMorphTransform?: (sourceFile: SourceFile, classDeclaration: ClassDeclaration) => void; coerceFormType?: (sourceFile: SourceFile, classDeclaration: ClassDeclaration, formTypeName: string, options: CoerceFormDefinitionOptions) => void; coerceFormControls?: (sourceFile: SourceFile, classDeclaration: ClassDeclaration, formTypeName: string, options: CoerceFormDefinitionOptions) => void; } export declare function CoerceFormControls(sourceFile: SourceFile, classDeclaration: ClassDeclaration, formTypeName: string, { controlList }: CoerceFormDefinitionOptions): void; export declare function CoerceFormDefinition(options: Readonly): Rule;