import { Context } from "koa"; import { FilePointer } from "@sealcode/file-manager"; import { FormDataValue } from "../form-types.js"; import { FieldParseResult, FormField } from "./field.js"; import { File as FileControl } from "../controls/file.js"; import { FormControl, FormControlContext } from "../controls/form-control.js"; export type FileContainer = { old: FilePointer | null; new: FilePointer | null; }; export declare class File extends FormField { readonly required: Required; constructor(required: Required); parse(ctx: Context, raw_value: FormDataValue): Promise>; getDatabaseValue(ctx: Context, data: Record): Promise; getEmptyValue(): { old: null; new: null; }; getControl(): FileControl; getSealiousCreateValue(fctx: FormControlContext): Promise; sealiousValueToForm(ctx: Context, sealiousValue: FilePointer | string | null): Promise<{ old: FilePointer | undefined; } | Record>; }