import { CardProps } from '@mui/material';
import { FeedObjectSkeletonProps } from './Skeleton';
import { MediaPreviewProps } from '../../shared/MediasPreview';
import { ActionsProps } from './Actions';
import { PollObjectProps } from './Poll';
import { ContributorsFeedObjectProps } from './Contributors';
import { SCFeedObjectTemplateType } from '../../types/feedObject';
import { ContributionActionsMenuProps } from '../../shared/ContributionActionsMenu';
import { FollowProps } from './Actions/Follow';
import { ActivitiesProps } from './Activities';
import { ReplyCommentObjectProps } from '../CommentObject/ReplyComment';
import { CommentObjectProps } from '../CommentObject';
import { SCFeedObjectType, SCFeedObjectTypologyType } from '@selfcommunity/core';
export interface FeedObjectProps extends CardProps {
    /**
     * Id of the feedObject
     * @default `feed_object_<feedObjectType>_<feedObjectId | feedObject.id>`
     */
    id?: string;
    /**
     * Overrides or extends the styles applied to the component.
     * @default null
     */
    className?: string;
    /**
     * Id of feed object
     * @default null
     */
    feedObjectId?: number;
    /**
     * Feed Object
     * @default null
     */
    feedObject?: SCFeedObjectType;
    /**
     * Feed Object type
     * @default 'post'
     */
    feedObjectType?: SCFeedObjectTypologyType;
    /**
     * Mark the FeedObject as read when enter in viewport
     * @default false
     */
    markRead?: boolean;
    /**
     * Feed Object latest activities
     * @default null
     */
    feedObjectActivities?: any[];
    /**
     * Feed Object template type
     * @default 'preview'
     */
    template?: SCFeedObjectTemplateType;
    /**
     * Hide follow action object
     * @default false
     */
    hideFollowAction?: boolean;
    /**
     * Hide Participants preview
     * @default false
     */
    hideParticipantsPreview?: boolean;
    /**
     * Props to spread to ContributionActionsMenu component
     * @default {elevation: 0}
     */
    FeedObjectSkeletonProps?: FeedObjectSkeletonProps;
    /**
     * Props to spread to Follow button component
     * @default {}
     */
    FollowButtonProps?: FollowProps;
    /**
     * Props to spread to Actions component
     * @default {}
     */
    ActionsProps?: ActionsProps;
    /**
     * Props to spread to ContributionActionsMenu component
     * @default {}
     */
    ContributionActionsMenuProps?: ContributionActionsMenuProps;
    /**
     * Props to spread to Activities component
     * @default {}
     */
    ActivitiesProps?: ActivitiesProps;
    /**
     * Props to spread to MediasPreview component
     * @default {}
     */
    MediasPreviewProps?: MediaPreviewProps;
    /**
     * Props to spread to PollObject component
     * @default {}
     */
    PollObjectProps?: PollObjectProps;
    /**
     * ReplyCommentComponent component
     * Usefull to override the single ReplyComment render component
     * @default CommentObject
     */
    ReplyCommentComponent?: (inProps: ReplyCommentObjectProps) => JSX.Element;
    /**
     * Props to spread to single reply comment object
     * @default {variant: 'outlined'}
     */
    ReplyCommentComponentProps?: ReplyCommentObjectProps;
    /**
     * Props to spread to ContributorsFeedObject component
     * @default {elevation: 0}
     */
    ContributorsFeedObjectProps?: ContributorsFeedObjectProps;
    /**
     * Props to spread to CommentObject component
     * @default {variant: 'outlined}
     */
    CommentComponentProps?: CommentObjectProps;
    /**
     * Props to spread to CommentObject component
     * @default {elevation: 0, variant: 'outlined'}
     */
    CommentObjectSkeletonProps?: any;
    /**
     * Callback on reply
     * @param SCCommentType
     */
    onReply?: (SCCommentType: any) => void;
    /**
     * Other props
     */
    [p: string]: any;
}
/**
 * > API documentation for the Community-UI Feed Object component. Learn about the available props and the CSS API.

 #### Import

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

 #### Component Name

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


 #### CSS

 |Rule Name|Global class|Description|
 |---|---|---|
 |root|.SCFeedObject-root|Styles applied to the root element.|
 |header|.SCFeedObject-header|Styles applied to the header of the card.|
 |tag|.SCFeedObject-tag|Styles applied to the tag element.|
 |title-section|.SCFeedObject-title-section|Styles applied to the title section.|
 |title|.SCFeedObject-title|Styles applied to the title element.|
 |username|.SCFeedObject-username|Styles applied to the username element.|
 |category|.SCFeedObject-category|Styles applied to the category element.|
 |content|.SCFeedObject-content|Styles applied to the content section. Content section include: title-section, text-section, snippetContent, subContent, medias-section, polls-section, info-section.|
 |text-section|.SCFeedObject-text-section|Styles applied to the text section.|
 |text|.SCFeedObject-text|Styles applied to the text element.|
 |snippet-content|.SCFeedObject-snippet-content|Styles applied to snippet content element.|
 |medias-section|.SCFeedObject-medias-section|Styles applied to the medias section.|
 |polls-section|.SCFeedObject-polls-section|Styles applied to the polls section.|
 |info-section|.SCFeedObject-info-section|Styles applied to the info section.|
 |subContent|.SCFeedObject-sub-content|Styles applied to the sub content (container placed immediately after the content, similar to a footer). Wrap the contributors and the follow button.|
 |actions-section|.SCFeedObject-actions-section|Styles applied to the actions container.|
 |reply-content|.SCFeedObject-reply-content|Styles applied to the reply box.|
 |activitiesSection|.SCFeedObject-activities-section|Styles applied to the activities section element.|
 |activitiesContent|.SCFeedObject-activities-content|Styles applied to the activities content element.|
 |activityAt|.SCFeedObject-activity-at|Styles applied to the activity at section.|
 |deleted|.SCFeedObject-deleted|Styles applied to the feed obj when is deleted (visible only for admin and moderator).|

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