import { BaseInputDirective } from '../../../components/base/base-input/base-input.directive';
import { type RuntimeFileSignalField } from '../../../models/signal-field-types.model';
import * as i0 from "@angular/core";
import * as i1 from "../../base/host-directive/signal-form-host.directive";
export declare class SignalFormFileFieldComponent<TModel extends object, K extends keyof TModel = keyof TModel> extends BaseInputDirective<RuntimeFileSignalField<TModel, K>, TModel, K> {
    protected isDragging: import("@angular/core").WritableSignal<boolean>;
    protected uploadProgress: import("@angular/core").WritableSignal<number | null>;
    protected imagePreview: import("@angular/core").WritableSignal<string | null>;
    private maxSizeBytes;
    protected isImageFile: import("@angular/core").Signal<boolean>;
    protected fileName: import("@angular/core").Signal<string>;
    onFileChange(event: Event): void;
    private createImagePreview;
    private simulateUpload;
    onDrop(event: DragEvent): void;
    onDragOver(event: DragEvent): void;
    onDragLeave(): void;
    openFileDialog(input: HTMLInputElement): void;
    removeFile(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SignalFormFileFieldComponent<any, any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SignalFormFileFieldComponent<any, any>, "signal-form-file-field", never, {}, {}, never, never, true, [{ directive: typeof i1.SignalFormHostDirective; inputs: {}; outputs: {}; }]>;
}
