import { Context } from "koa"; import { FlatTemplatable } from "tempstream"; import { FormField } from "../fields/field.js"; import { FormDataValue } from "../form-types.js"; import { FormControlContext } from "./form-control.js"; import { FormFieldControl } from "./form-field-control.js"; export type TickableOptions = { id?: string; name?: string; label?: string; hide_errors?: boolean; readonly?: boolean; default_value: T; }; export declare abstract class Tickable extends FormFieldControl { field: FormField; options: TickableOptions; constructor(field: FormField, options: TickableOptions); type: "checkbox" | "radio"; abstract getValueAttribute(ctx: Context, data: Record, value: T): string; abstract isChecked(ctx: Context, data: Record, value: T): boolean; makeInputID(ctx: Context, data: Record, value: T): string; getWrapperClasses(ctx: Context, data: Record, value: T): string[]; render(fctx: FormControlContext): Promise; }