import type { ValidatorFn, ValidationErrors, ControlId, AbstractControlInterface } from './abstract-control'; import { IAbstractControl } from './abstract-control'; import { SetStoreFunction, Store } from 'solid-js/store'; import { Accessor } from 'solid-js'; export declare const DEFAULT_SOURCE = "CONTROL_DEFAULT_SOURCE"; export interface IAbstractControlBaseOptions = Record> { id?: ControlId; data?: Data; disabled?: boolean; touched?: boolean; dirty?: boolean; readonly?: boolean; required?: boolean; submitted?: boolean; errors?: null | ValidationErrors | ReadonlyMap; validators?: null | ValidatorFn | ValidatorFn[] | ReadonlyMap; pending?: boolean | ReadonlySet; } export declare function propInitializer(): [ propInitializing: (value: T) => T, initComplete: () => void ]; export declare function composeValidators(validators: undefined | null | ValidatorFn | ValidatorFn[]): null | ValidatorFn; export declare type IAbstractControlBase = Record> = Omit, 'value' | 'rawValue' | 'setValue' | typeof AbstractControlInterface>; export declare function createAbstractControlBase = Record, Value = RawValue>(store: Accessor<[ Store>, SetStoreFunction> ]>, untilInit: (value: T) => T, initOptions?: Pick, 'id' | 'data'>): [base: IAbstractControlBase, initializer: () => void]; //# sourceMappingURL=abstract-control-base.d.ts.map