import { FeatheryFieldTypes } from '../utils/init'; import { getFormContext } from '../utils/formContext'; export interface ElementProps { [fieldId: string]: { [propName: string]: string; }; } export interface PopupOptions { show?: boolean; onHide?: () => void; } export declare type Trigger = { id: string; _servarId?: string; text?: string; type: 'button' | 'text' | 'field' | 'addressSelect' | 'table'; repeatIndex: number; rowIndex?: number; action?: string; rowData?: Record; }; export declare type FieldData = { [fieldKey: string]: { displayText: string; type: string; value: FeatheryFieldTypes; }; }; export declare type FormContext = ReturnType; export interface ContextOnChange extends FormContext { trigger: Trigger; integrationData: Record; valueRepeatIndex: number; } declare type ActionData = Record & { type: string; }; export interface ContextOnAction extends FormContext { trigger: Trigger; actions: string[]; actionData: ActionData[]; } export interface ContextOnSubmit extends FormContext { submitFields: FieldData; trigger: Trigger; } export interface ContextOnError extends FormContext { trigger: Trigger; errorFieldId: string; errorFieldType: string; errorMessage: string; } export interface ContextOnView extends FormContext { visibilityStatus: { elementId: string; isVisible: boolean; }; } export interface PositionedElement { position: number[]; } export interface Subgrid extends PositionedElement { id: string; repeated: boolean; } interface LogicRuleBase { id: string; name: string; trigger_event: string; steps: string[]; elements: string[]; enabled: boolean; valid: boolean; } export declare type ServerSideLogicRule = LogicRuleBase & { server_side: true; }; export declare type ClientSideLogicRule = LogicRuleBase & { server_side: false; code: string; }; export declare type LogicRule = ServerSideLogicRule | ClientSideLogicRule; export {}; //# sourceMappingURL=Form.d.ts.map