import React from 'react';
import { Note } from '@parlor/common';
export type CommentProps = {
    /**
     * show or hide actions dropdown icon
     */
    actionIcon?: boolean;
    /**
     * The avatar URL of the user who added the comment
     */
    avatar?: string;
    /**
     * comment description
     */
    children: string | JSX.Element;
    className?: string;
    /**
     * comment created date
     */
    date: string;
    headerSuffix?: JSX.Element;
    /**
     * isActionBar hidden
     */
    isActionBarHidden?: boolean;
    /**
     * check is admin user
     */
    isAdmin?: boolean;
    /**
     * add note icon when isNote is true
     */
    isNote?: boolean;
    /**
     * pinned state
     */
    isPinned?: boolean;
    /**
     * change like button background when liked is true
     */
    liked?: boolean;
    /**
     * show users list tooltip on hover in like button
     */
    likedUsers?: string[];
    /**
     * count of liked users
     */
    likesCount?: number;
    /**
     * comment author name
     */
    name: string;
    /**
     * Note if available
     */
    note?: Note;
    /**
     * callback on inbox icon click
     */
    onClickInboxIcon?: () => void;
    /**
     * callback on like button click
     */
    onClickLike?: () => any;
    /**
     * callback on reply submit
     */
    onReplySubmit?: (value: string, close?: React.Dispatch<React.SetStateAction<boolean>>) => any;
    /**
     * callback on select dropdown item
     */
    onSelectMenu?: (value: string) => void;
    /**
     * add Reply string between name when sended isReply
     */
    reply?: 'default' | 'isReply';
    /**
     * show inbox icon when showIcon is true
     */
    showIcon?: boolean;
    /**
     * note Title
     */
    title?: string;
    /**
     * add unpin button with action
     */
    unPinBtnAction?: () => void;
};
export declare function Comment({ className, actionIcon, avatar, children, date, isActionBarHidden, isAdmin, isNote, liked, likedUsers, likesCount, name, note, onClickLike, onClickInboxIcon, onReplySubmit, onSelectMenu, reply, showIcon, headerSuffix, title, isPinned, unPinBtnAction, }: CommentProps): JSX.Element;
export declare namespace Comment {
    var Date: ({ date }: {
        date: string;
    }) => JSX.Element;
    var Head: React.FC<{
        children?: React.ReactNode;
    }>;
    var Author: React.FC<{
        avatar: string;
        isAdmin: boolean;
        isNote: boolean;
        name: string;
        note?: Note;
    }>;
    var ActionBar: React.FC<{
        liked: boolean;
        likedUsers: string[];
        likesCount: number;
        onClickInboxIcon?: () => void;
        onClickLike?: () => any;
        onClickReply?: () => any;
        showIcon: boolean;
        showReply: boolean;
    }>;
    var Container: React.FC<React.PropsWithChildren<{
        className?: string;
        reply: string;
    }>>;
}
