import * as _angular_forms from '@angular/forms'; import { FormGroup, FormControl, FormArray, FormRecord } from '@angular/forms'; import { Actions } from '@ng-atomic/core'; import { Column } from '@ng-atomic/common/models'; import * as i0 from '@angular/core'; type ActionsColumnForm = FormGroup<{ type: FormControl<'actions'>; visible: FormControl; width: FormControl; actions: FormControl; sticky: FormControl; stickyEnd: FormControl; }>; type CheckboxColumnForm = FormGroup<{ type: FormControl<'checkbox'>; visible: FormControl; width: FormControl; sticky: FormControl; stickyEnd: FormControl; }>; type TextColumnForm = FormGroup<{ type: FormControl<'text'>; visible: FormControl; width: FormControl; sticky: FormControl; stickyEnd: FormControl; }>; type TreeColumnForm = FormGroup<{ type: FormControl<'tree'>; visible: FormControl; width: FormControl; sticky: FormControl; stickyEnd: FormControl; }>; type ColumnsForm = FormArray>; interface ColumnsFormValue { ids: string[]; map: { [key: string]: Column; }; } declare class ColumnsFormBuilder { protected readonly fb: _angular_forms.NonNullableFormBuilder; build(columns?: ColumnsFormValue): FormGroup<{ ids: FormControl; map: FormGroup<{}>; }>; protected buildColumnForm(column: Column): ActionsColumnForm | CheckboxColumnForm | TextColumnForm | TreeColumnForm; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare function injectColumnsForm(): FormGroup<{ ids: FormControl; map: FormGroup<{}>; }>; declare function buildColumns(columnIdOrActions: (string | Actions)[], { stickyStart, stickyEnd, }?: { stickyStart?: number; stickyEnd?: number; }): { ids: string[]; map: { [key: string]: Column; }; }; export { ColumnsFormBuilder, buildColumns, injectColumnsForm }; export type { ActionsColumnForm, CheckboxColumnForm, ColumnsForm, ColumnsFormValue, TextColumnForm, TreeColumnForm };