export class FileItem extends UploaderBlock {
    /** @private */
    private _entrySubs;
    /**
     * @private
     * @type {any} TODO: Add types for upload entry
     */
    private _entry;
    /** @private */
    private _isIntersecting;
    /** @private */
    private _debouncedGenerateThumb;
    /** @private */
    private _debouncedCalculateState;
    /** @private */
    private _renderedOnce;
    init$: {
        uid: string;
        itemName: string;
        errorText: string;
        thumbUrl: string;
        progressValue: number;
        progressVisible: boolean;
        badgeIcon: string;
        isFinished: boolean;
        isFailed: boolean;
        isUploading: boolean;
        isFocused: boolean;
        isEditable: boolean;
        state: symbol;
        ariaLabelStatusFile: string;
        onEdit: () => void;
        onRemove: () => void;
        onUpload: () => void;
        '*commonProgress': number;
        '*uploadList': never[];
        '*uploadQueue': import("@uploadcare/upload-client").Queue;
        '*collectionErrors': any[];
        '*collectionState': import("../../index.js").OutputCollectionState<import("../../index.js").OutputCollectionStatus, "maybe-has-group"> | null;
        '*groupInfo': import("@uploadcare/upload-client").UploadcareGroup | null;
        '*uploadTrigger': Set<string>;
        '*secureUploadsManager': import("../../abstract/SecureUploadsManager.js").SecureUploadsManager | null;
        '*currentActivity': null;
        '*currentActivityParams': {};
        '*history': never[];
        '*historyBack': null;
        '*closeModal': () => void;
    };
    _reset(): void;
    /**
     * @private
     * @param {IntersectionObserverEntry[]} entries
     */
    private _observerCallback;
    /** @private */
    private _calculateState;
    /** @private */
    private _generateThumbnail;
    /**
     * @private
     * @param {string} prop
     * @param {(value: any) => void} handler
     */
    private _subEntry;
    /**
     * @private
     * @param {String} id
     */
    private _handleEntryId;
    /** @param {(typeof FileItemState)[keyof typeof FileItemState]} state */
    _handleState(state: (typeof FileItemState)[keyof typeof FileItemState]): void;
    /** @private */
    private _observer;
    _settingsOfShrink(): {
        size: number;
        quality: number | undefined;
    };
    /**
     * @private
     * @param {File} file
     */
    private _processShrink;
    upload(): Promise<void>;
}
export namespace FileItem {
    let template: string;
    let activeInstances: Set<any>;
}
import { UploaderBlock } from '../../abstract/UploaderBlock.js';
declare const FileItemState: Readonly<{
    FINISHED: symbol;
    FAILED: symbol;
    UPLOADING: symbol;
    IDLE: symbol;
}>;
export {};
//# sourceMappingURL=FileItem.d.ts.map