/// <reference types="react" />
import { AttachmentMenuAction } from '../../types/Attachment';
import { AttachmentMetadata } from "../../../../acs-ui-common/src";
import { ChatMessage } from '../../types';
/**
 * Represents the type of attachment
 * @public
 */
export type ChatAttachmentType = 'unknown' | 'image' | 'file';
/**
 * Strings of _AttachmentDownloadCards that can be overridden.
 *
 * @internal
 */
export interface _AttachmentDownloadCardsStrings {
    /** Aria label to notify user when focus is on attachment open button. */
    openAttachment: string;
    attachmentCardGroupMessage: string;
}
/**
 * @internal
 */
export interface _AttachmentDownloadCardsProps {
    /**
     * A chat message metadata that includes attachment metadata
     */
    attachments?: AttachmentMetadata[];
    /**
     * A chat message metadata that includes attachment metadata
     */
    message?: ChatMessage;
    /**
     * Optional callback to handle attachment download
     */
    actionsForAttachment?: (attachment: AttachmentMetadata, message?: ChatMessage) => AttachmentMenuAction[];
    /**
     * Optional callback that runs if downloadHandler returns an error.
     */
    onActionHandlerFailed?: (errMsg: string) => void;
    /**
     * Optional aria label strings for attachment download cards
     */
    strings?: _AttachmentDownloadCardsStrings;
}
/**
 * @internal
 */
export declare const _AttachmentDownloadCards: (props: _AttachmentDownloadCardsProps) => JSX.Element;
/**
 * @beta
 *
 * The default menu action for downloading attachments. This action will open the attachment's URL in a new tab.
 */
export declare const defaultAttachmentMenuAction: AttachmentMenuAction;
//# sourceMappingURL=AttachmentDownloadCards.d.ts.map