import { BaseTreeViewer } from './BaseTreeViewer';
import { IDownloadManager } from './viewer/types';
export type Attachment = {
    content: Uint8Array;
    filename: string;
    description?: string;
};
export type AttachmentViewerRenderParameters = {
    attachments?: Attachment[];
    keepRenderedCapability: boolean;
};
export declare class AttachmentViewer extends BaseTreeViewer<AttachmentViewerRenderParameters> {
    readonly options: {
        container: HTMLDivElement;
        eventBus: any;
        l10n: any;
        downloadManager: IDownloadManager;
    };
    private attachments?;
    private renderedCapability?;
    private pendingDispatchEvent?;
    constructor(options: {
        container: HTMLDivElement;
        eventBus: any;
        l10n: any;
        downloadManager: IDownloadManager;
    });
    reset(keepRenderedCapability?: boolean): void;
    protected dispatchEvent(attachmentsCount: number): Promise<void>;
    protected render({ attachments, keepRenderedCapability }: AttachmentViewerRenderParameters): void;
    protected bindLink(element: HTMLAnchorElement, item: Attachment): void;
    private appendAttachment;
}
