import { ElementRef } from '@angular/core';
import { DbxButtonStyle } from '../../button/button.component';
import { Maybe } from '@dereekb/util';
import { AbstractDbxFileUploadComponent, DbxFileUploadFilesChangedEvent } from './abstract.upload.component';
import * as i0 from "@angular/core";
export type DbxFileUploadButtonFilesChangedEvent = DbxFileUploadFilesChangedEvent;
export declare class DbxFileUploadButtonComponent extends AbstractDbxFileUploadComponent {
    readonly fileInput: import("@angular/core").Signal<ElementRef<HTMLInputElement>>;
    readonly text: import("@angular/core").InputSignal<Maybe<string>>;
    readonly icon: import("@angular/core").InputSignal<Maybe<string>>;
    readonly buttonStyle: import("@angular/core").InputSignal<Maybe<DbxButtonStyle>>;
    readonly filesChanged: import("@angular/core").OutputEmitterRef<DbxFileUploadFilesChangedEvent>;
    readonly buttonAcceptSignal: import("@angular/core").Signal<string | undefined>;
    readonly buttonMultipleSignal: import("@angular/core").Signal<boolean>;
    readonly filesAcceptedFunctionSignal: import("@angular/core").Signal<import("./upload.accept").FileArrayAcceptMatchFunction | undefined>;
    /**
     * The HTML attribute should not be added if it is false, so we return null.
     */
    readonly multipleAttributeSignal: import("@angular/core").Signal<"" | null>;
    openInput(): void;
    fileInputChanged(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DbxFileUploadButtonComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DbxFileUploadButtonComponent, "dbx-file-upload-button", never, { "text": { "alias": "text"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "buttonStyle": { "alias": "buttonStyle"; "required": false; "isSignal": true; }; }, { "filesChanged": "filesChanged"; }, never, ["*"], true, never>;
}
