import Router from "@koa/router"; import { Context } from "koa"; import { Field, FieldsetOutput } from "sealious"; import { FormField } from "../fields/field.js"; import { StructuredArray as StructuredArrayField } from "../fields/structured-array.js"; import { FormDataValue } from "../form-types.js"; import { FormControl, FormControlContext } from "./form-control.js"; import { FormFieldControl } from "./form-field-control.js"; export type UnboundControlStorage = [F, string, ConstructorParameters]; export declare function UnboundControl(controlClass: F, arbitrary_field_name: string, params: ConstructorParameters["1"]): UnboundControlStorage; export declare class StructuredArray>> extends FormFieldControl { field: StructuredArrayField; item_controls: Array; constructor(field: StructuredArrayField, item_controls: Array); getFrameID(): string; getInnerFormID(): string; getActionURL(form_id?: string, action?: Record): string; getDefaultItemBody(): Promise<{}>; makeSubfield(_field_name: string): FormField; renderItemControl(ctx: Context, form_id: string, control: FormControl | UnboundControlStorage, item: FieldsetOutput, index: number): Promise<(string | number | import("stream").Readable | null) | (string | number | import("stream").Readable | null)[] | Promise[]>; renderItem(ctx: Context, form_id: string, item: FieldsetOutput, index: number): Promise; getItems(ctx: Context, raw_values: Record): Promise[]>; _render(ctx: Context, form_id: string, raw_values: Record): Promise; render(fctx: FormControlContext): Promise; getTargetItemID(ctx: Context): Promise; mount(router: Router): void; }