import { TemplateRef } from '@angular/core';
import * as i0 from "@angular/core";
/**
 * Renders a file input disguised as a button, enhancing the user interface and improving usability.
 * It leverages the `ButtonCell` component for consistent styling across the application.
 */
export declare class FileInputComponent {
    private elementRef;
    /** Text label for the file input, used as the button label */
    label: import("@angular/core").InputSignal<string>;
    /** File types that the input should accept */
    accept: import("@angular/core").InputSignal<string | undefined>;
    /** Whether multiple files can be selected */
    multiple: import("@angular/core").InputSignal<boolean>;
    /** Whether the input is disabled */
    disabled: import("@angular/core").InputSignal<boolean>;
    /** Template displayed before the main content */
    beforeTemplate: import("@angular/core").InputSignal<TemplateRef<any> | null>;
    /** Emitted when files are selected */
    change: import("@angular/core").OutputEmitterRef<Event>;
    /**
     * Handles the change event when files are selected
     */
    handleChange(event: Event): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<FileInputComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<FileInputComponent, "tgui-file-input", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "beforeTemplate": { "alias": "beforeTemplate"; "required": false; "isSignal": true; }; }, { "change": "change"; }, never, ["*"], true, never>;
}
