import { CardProps } from '@mui/material';
import { SCCommentsOrderBy } from '../../types/comments';
import { SCCommentType, SCFeedObjectType, SCFeedObjectTypologyType } from '@selfcommunity/core';
export interface CommentObjectProps {
    /**
     * Overrides or extends the styles applied to the component.
     * @default null
     */
    className?: string;
    /**
     * Id of the comment object
     * @default null
     */
    commentObjectId?: number;
    /**
     * Comment object
     * @default null
     */
    commentObject?: SCCommentType;
    /**
     * Id of feed object
     * @default null
     */
    feedObjectId?: number;
    /**
     * Feed object
     * @default null
     */
    feedObject?: SCFeedObjectType;
    /**
     * Type of feed object
     * @default SCFeedObjectTypologyType.POST
     */
    feedObjectType?: SCFeedObjectTypologyType;
    /**
     * comments per page (latest_comments)
     * @default null
     */
    commentsPageCount?: number;
    /**
     * comments orderBy
     * @default SCCommentsOrderBy.ADDED_AT_DESC
     */
    commentsOrderBy?: SCCommentsOrderBy;
    /**
     * comment to reply
     * Used to initial open reply box for that comment
     * @default null
     */
    commentReply?: SCCommentType;
    /**
     * Callback on open reply box
     * @default null
     */
    onOpenReply?: (comment: SCCommentType) => void;
    /**
     * Callback on vote the comment or a sub-comment (latest_comments)
     * @default null
     */
    onVote?: (comment: SCCommentType) => void;
    /**
     * Callback on delete the comment
     * @default null
     */
    onDelete?: (comment: SCCommentType) => void;
    /**
     * Props to spread to single comment object skeleton
     * @default {elevation: 0}
     */
    CommentObjectSkeletonProps?: CardProps;
    /**
     * Props to spread to single comment object ReplyCommentObject
     * @default {elevation: 0}
     */
    ReplyCommentObjectProps?: CardProps;
    /**
     * Other props
     */
    [p: string]: any;
}
/**
 *> API documentation for the Community-UI Comment Object component. Learn about the available props and the CSS API.

 #### Import

 ```jsx
 import {CommentObject} from '@selfcommunity/ui';
 ```

 #### Component Name

 The name `SCCommentObject` can be used when providing style overrides in the theme.


 #### CSS

 |Rule Name|Global class|Description|
 |---|---|---|
 |root|.SCCommentObject-root|Styles applied to the root element.|
 |comment|.SCCommentObject-comment|Styles applied to comment element.|
 |nestedComments|.SCCommentObject-nestedComments|Styles applied to nested comments element wrapper.|
 |avatar|.SCCommentObject-avatar|Styles applied to the avatar element.|
 |author|.SCCommentObject-author|Styles applied to the author section.|
 |content|.SCCommentObject-content|Styles applied to content section.|
 |textContent|.SCCommentObject-text-content|Styles applied to text content section.|
 |btnVotes|.SCCommentObject-btn-votes|Styles applied to the vote button element.|
 |votes|.SCCommentObject-votes|Styles applied to the votes section.|
 |commentActionsMenu|.SCCommentObject-comment-actions-menu|Styles applied to comment action menu element.|
 |deleted|.SCCommentObject-deleted|Styles applied to tdeleted element.|
 |activityAt|.SCCommentObject-activity-at|Styles applied to activity at section.|
 |reply|.SCCommentObject-reply|Styles applied to the reply element.|
 |contentSubSection|.SCCommentObject-content-sub-section|Styles applied to the comment subsection|

 * @param inProps
 */
export default function CommentObject(inProps: CommentObjectProps): JSX.Element;
//# sourceMappingURL=CommentObject.d.ts.map