import {BEAllProps, IEnhancement} from '../trans-render/be/types'; export interface EndUserProps extends IEnhancement{ invalidIf: Array, checkValidityOn: string | Array<(string | CheckEventMonitor)>, checkValidityOnInit: boolean; } export interface AllProps extends EndUserProps{ invalidClassesToApply: Array, invalidClassesToRemove: Array, isValid: boolean, updateCnt: number, } export interface FormCriteria{ noneOf?: Array<(string | FieldOptions)>, //instructions?: string, invalidCssClass: string, } export interface FieldIdentifierOptions { name?: string, prop: string, find?: string, } export interface FieldValidationOptions{ enabled?: boolean, required?: boolean, min?: number | Date | string, max?: number | Date | string, pattern?: string, type?: string, } export interface FieldOptions extends FieldIdentifierOptions, FieldValidationOptions{} export interface CheckEventMonitor{ type: string, options: AddEventListenerOptions, } export type AP = AllProps; export type PAP = Partial; export type ProPAP = Promise; export type BAP = AP & BEAllProps; export interface Actions{ hydrate(self: BAP): ProPAP, markStatus(self: BAP): void, checkValidity(self: BAP): void, applyInvalidClsses(self: BAP): void, removeInvalidClasses(self: BAP): void, // onInvalidIf(self: this): Promise; // onCheckValidityOn(self: this): void; // onCheckValidityOnInit(self: this): void; }