import { type ReactNode } from "react";
import { type DashboardAttachmentType, type WidgetAttachmentType } from "@gooddata/sdk-model";
export declare const widgetAttachmentLabels: Record<WidgetAttachmentType, ReactNode>;
export declare const dashboardAttachmentLabels: Record<DashboardAttachmentType, ReactNode>;
export declare const attachmentIcons: Record<WidgetAttachmentType | DashboardAttachmentType, string>;
type AttachmentItem<T extends WidgetAttachmentType | DashboardAttachmentType> = {
    type: T;
    selected: boolean;
};
interface IAttachmentsSelectProps<T extends WidgetAttachmentType | DashboardAttachmentType> {
    attachments: AttachmentItem<T>[];
    onChange: (attachments: AttachmentItem<T>[]) => void;
    mode: "widget" | "dashboard";
    onAddButtonRef: (ref: HTMLButtonElement | null) => void;
}
export declare function AttachmentsSelect<T extends WidgetAttachmentType | DashboardAttachmentType>({ attachments: initialAttachments, onChange, mode, onAddButtonRef }: IAttachmentsSelectProps<T>): import("react/jsx-runtime").JSX.Element;
export {};
//# sourceMappingURL=AttachmentsSelect.d.ts.map