import { Context } from "koa"; import { FlatTemplatable } from "tempstream"; import { FormField } from "../fields/field.js"; import { PickFromListField } from "../fields/pick-from-list.js"; import { FormDataValue } from "../form-types.js"; import { FormControlContext } from "./form-control.js"; import { SimpleInput } from "./simple-input.js"; export type DropdownOptions = { label: string; autosubmit?: boolean; autocomplete?: boolean; }; export type DropdownOption = { value: string; label: string; }; export declare class FreeformDropdown extends SimpleInput { field: FormField; _generateOptions: (ctx: Context) => Promise; options: DropdownOptions; constructor(field: FormField, _generateOptions: (ctx: Context) => Promise, options?: DropdownOptions); generateOptions(ctx: Context): Promise; getInputAttributes(fctx: FormControlContext): Promise>; renderInput(ctx: Context, attributes_str: string, data: Record): Promise; } export declare class Dropdown extends FreeformDropdown { field: PickFromListField; options: DropdownOptions; constructor(field: PickFromListField, options?: DropdownOptions); }