import { PropertyValueMap } from "lit"; import { FRoot } from "@cldcvr/flow-core"; import { FFormInputElements, FormBuilderArrayField, FormBuilderValues } from "../../types"; import { Ref } from "lit/directives/ref.js"; import { Subject } from "rxjs"; import { FIconButton } from "@cldcvr/flow-core"; export type ArrayValueType = (string | string[] | number | number[] | unknown | unknown[] | undefined)[]; export declare class FFormArray extends FRoot { /** * css loaded from scss file */ static styles: import("lit").CSSResult[]; /** * @attribute comments baout title */ config: FormBuilderArrayField; /** * @attribute value */ value: ArrayValueType; state?: "primary" | "default" | "success" | "warning" | "danger"; /** * @attribute Gap is used to define the gap between the elements */ gap?: "large" | "medium" | "small" | "x-small"; actions?: NodeListOf; fieldRefs: Ref[]; showWhenSubject: Subject; get isRequired(): boolean; render(): import("lit-html").TemplateResult<1>; getFieldValue(index: number): unknown; buildFields(valueCount: number): import("lit-html").TemplateResult<1>; validate(silent?: boolean): Promise<{ result: boolean; message: string | null; name: string; label?: string | import("../../types").FormBuilderLabel | undefined; rule: "min" | "max" | "regex" | "email" | "custom" | "required" | "between" | "max-value" | "min-value"; }[]>; applyLabelOffSet(element: HTMLElement): void; /** * updated hook of lit element * @param _changedProperties */ protected updated(_changedProperties: PropertyValueMap | Map): Promise; addField(): void; removeField(idx: number): void; /** * dispatch showWhen event so that root will publish new form values */ dispatchShowWhenEvent(): void; dispatchInputEvent(): void; /** * dispatch showWhen event so that root will publish new form values */ dispatchShowWhenExeEvent(): void; }