import { ConnectedPosition } from '@angular/cdk/overlay';
import { OnDestroy } from '@angular/core';
import { ControlValueAccessor, NgControl } from '@angular/forms';
import { MatFormFieldControl } from '@angular/material/form-field';
import { MatSnackBar } from '@angular/material/snack-bar';
import { Subject } from 'rxjs';
import * as i0 from "@angular/core";
export declare class UploadButtonComponent implements ControlValueAccessor, MatFormFieldControl<File>, OnDestroy {
    static nextId: number;
    accept: import("@angular/core").InputSignal<string | string[]>;
    readonly acceptAttribute: import("@angular/core").Signal<string | import("@angular/core").InputSignal<string | string[]>>;
    allowDownload: import("@angular/core").InputSignal<boolean>;
    uploaded: import("@angular/core").OutputEmitterRef<File>;
    isImageUploaded: import("@angular/core").WritableSignal<boolean>;
    positions: ConnectedPosition[];
    touched: boolean;
    disabled: boolean;
    autofilled?: boolean | undefined;
    controlType?: string | undefined;
    errorState: boolean;
    focused: boolean;
    required: boolean;
    shouldLabelFloat: boolean;
    stateChanges: Subject<void>;
    userAriaDescribedBy?: string | undefined;
    value: File | null;
    readonly ngControl: NgControl | null;
    private _placeholder;
    get placeholder(): string;
    set placeholder(plh: string);
    get empty(): boolean;
    get id(): string;
    private onChange?;
    private onTouched?;
    readonly snackBar: MatSnackBar;
    private readonly cdr;
    private readonly _elementRef;
    private readonly document;
    constructor();
    get isImage(): boolean;
    onContainerClick(event: MouseEvent): void;
    setDescribedByIds(ids: string[]): void;
    ngOnDestroy(): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState(isDisabled: boolean): void;
    writeValue(file: File): void;
    openOverlay(): void;
    onFocusIn(event: FocusEvent): void;
    onFocusOut(event: FocusEvent): void;
    download(): void;
    onFileInputChange($event: any): void;
    clear(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<UploadButtonComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<UploadButtonComponent, "rxap-upload-button", never, { "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "allowDownload": { "alias": "allowDownload"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; }, { "uploaded": "uploaded"; }, never, ["*"], true, never>;
}
