import { AutocompleteData, CustomAnnotationDropdownData, ReactionMap, AutoCompleteScrollConfig, AssignToType } from '@veltdev/types';
import React from 'react';
export interface IVeltCommentsProps extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement> {
    streamViewContainerId?: string;
    autoCategorize?: boolean;
    onSignIn?: Function;
    onUpgrade?: Function;
    textMode?: boolean;
    popoverMode?: boolean;
    popoverTriangleComponent?: boolean;
    floatingCommentDialog?: boolean;
    moderatorMode?: boolean;
    streamMode?: boolean;
    signInButton?: boolean;
    upgradeButton?: boolean;
    attachments?: boolean;
    /**
     * Pass `all` to allow all type of recordings.
     * Pass `none` to disable all type of recordings.
     * Pass `string` to allow specific type of recordings.
     * For example: `audio` or `video` or `screen` or any combination like `audio,video`.
     */
    recordings?: string;
    reactions?: boolean;
    deviceInfo?: boolean;
    commentIndex?: boolean;
    dialogOnHover?: boolean;
    dialogOnTargetElementClick?: boolean;
    priority?: boolean;
    status?: boolean;
    visibilityOptions?: boolean;
    resolveButton?: boolean;
    inboxMode?: boolean;
    suggestionMode?: boolean;
    mobileMode?: boolean;
    inlineCommentMode?: boolean;
    privateCommentMode?: boolean;
    minimap?: boolean;
    minimapPosition?: string;
    persistentCommentMode?: boolean;
    ghostComments?: boolean;
    ghostCommentsIndicator?: boolean;
    commentsOnDom?: boolean;
    resolvedCommentsOnDom?: boolean;
    filterCommentsOnDom?: boolean;
    bubbleOnPin?: boolean;
    bubbleOnPinHover?: boolean;
    commentTool?: boolean;
    sidebarButtonOnCommentDialog?: boolean;
    deviceIndicatorOnCommentPins?: boolean;
    scrollToComment?: boolean;
    userMentions?: boolean;
    deleteOnBackspace?: boolean;
    hotkey?: boolean;
    /**
     * @deprecated Use `recordingTranscription` instead.
     */
    recordingSummary?: boolean;
    recordingTranscription?: boolean;
    recordingCountdown?: boolean;
    unreadIndicatorMode?: 'minimal' | 'verbose';
    enterKeyToSubmit?: boolean;
    pinShadowDom?: boolean;
    dialogShadowDom?: boolean;
    shadowDom?: boolean;
    changeDetectionInCommentMode?: boolean;
    areaComment?: boolean;
    pinCursorImage?: string;
    allowedElementIds?: string[];
    allowedElementClassNames?: string[];
    allowedElementQuerySelectors?: string[];
    commentPinHighlighter?: boolean;
    customReactions?: ReactionMap;
    /**
     * @legacy Use `useAddCommentAnnotation` event hook instead.
     */
    onCommentAdd?: Function;
    onCustomPinInject?: Function;
    /**
     * @legacy Use respective update events hooks instead.
     */
    onCommentUpdate?: Function;
    onCommentAccept?: Function;
    onCommentReject?: Function;
    onCopyLink?: Function;
    onSidebarButtonOnCommentDialogClick?: Function;
    onCommentSelectionChange?: Function;
    customStatus?: {
        id: string;
        color: string;
        name: string;
        type: 'default' | 'ongoing' | 'terminal';
        lightColor?: string;
        svg?: string;
        iconUrl?: string;
    }[];
    customPriority?: {
        id: string;
        color: string;
        name: string;
        lightColor?: string;
    }[];
    customCategory?: {
        id: string;
        color: string;
        name: string;
    }[];
    customListDataOnAnnotation?: CustomAnnotationDropdownData;
    customListDataOnComment?: AutocompleteData;
    darkMode?: boolean;
    dialogDarkMode?: boolean;
    pinDarkMode?: boolean;
    textCommentToolDarkMode?: boolean;
    textCommentToolbarDarkMode?: boolean;
    textCommentToolShadowDom?: boolean;
    textCommentToolbarShadowDom?: boolean;
    persistentCommentShadowDom?: boolean;
    composerMode?: 'default' | 'expanded';
    atHereLabel?: string;
    atHereDescription?: string;
    /**
     * @deprecated Use `multiThread` instead.
     */
    multiThreadMode?: boolean;
    multiThread?: boolean;
    /**
     * @deprecated Use `groupMatchedComments` instead.
     */
    groupMultipleMatch?: boolean;
    groupMatchedComments?: boolean;
    deleteReplyConfirmation?: boolean;
    collapsedComments?: boolean;
    shortUserName?: boolean;
    resolveStatusAccessAdminOnly?: boolean;
    svgAsImg?: boolean;
    seenByUsers?: boolean;
    readOnly?: boolean;
    atHereEnabled?: boolean;
    customAutocompleteSearch?: boolean;
    deleteThreadWithFirstComment?: boolean;
    expandMentionGroups?: boolean;
    showMentionGroupsFirst?: boolean;
    showMentionGroupsOnly?: boolean;
    fullExpanded?: boolean;
    commentToNearestAllowedElement?: boolean;
    draftMode?: boolean;
    maxReplyAvatars?: number;
    replyAvatars?: boolean;
    linkCallback?: boolean;
    replyPlaceholder?: string;
    commentPlaceholder?: string;
    editPlaceholder?: string;
    editCommentPlaceholder?: string;
    editReplyPlaceholder?: string;
    allowedFileTypes?: string[];
    attachmentNameInMessage?: boolean;
    forceCloseAllOnEsc?: boolean;
    screenshot?: boolean;
    paginatedContactList?: boolean;
    autoCompleteScrollConfig?: AutoCompleteScrollConfig;
    assignToType?: AssignToType;
    formatOptions?: boolean;
    attachmentDownload?: boolean;
    pinDrag?: boolean;
    /**
     * When false, disables anonymous email mentions for comments (global comments container).
     * When true, enables them. Mirrors `anonymousEmail` on `velt-comments`.
     */
    anonymousEmail?: boolean;
}
declare const SnippylyComments: React.FC<IVeltCommentsProps>;
export default SnippylyComments;
