import { TemplateResult } from 'lit'; import { BahtFieldBase } from '../field-base.js'; import { UploadedFile } from '../../core/types.js'; /** * File field (spec 01 §2 + §13). Two modes: * - capture (default): value = File handle(s); the lib never uploads. * - upload (`field.uploader` + host `uploader` fn from the registry): * picking uploads immediately, value becomes serializable UploadedFile * ref(s), and the control shows chips with remove buttons. * max_size (bytes) is enforced here as a soft filter — oversize files rejected. */ export declare class BahtFile extends BahtFieldBase { /** Resolved registry uploader — injects it when `field.uploader` is set. */ uploader?: (file: File) => Promise; private uploadingCount; private uploadError; /** Names of files the last pick rejected for being over `field.max_size`. */ private rejectedNames; private get refs(); private emitRefs; private uploadAll; private onPick; private take; private get captured(); private hintText; protected renderControl(): TemplateResult; }