import React, { SyntheticEvent } from 'react';
import { SCCategoryType, SCFeedDiscussionType, SCFeedObjectTypologyType, SCFeedPostType, SCFeedStatusType, SCMediaType, SCPollType, SCTagType } from '@selfcommunity/core';
import { DialogProps } from '@mui/material';
import { SCMediaObjectType } from '../../types/media';
import { DistributiveOmit } from '@mui/types';
import { OverrideProps } from '@mui/material/OverridableComponent';
export interface ComposerTypeMap<P = {}, D extends React.ElementType = 'div'> {
    props: P & DistributiveOmit<DialogProps, 'defaultValue'> & {
        /**
         * Id of feed object
         * @default null
         */
        feedObjectId?: number;
        /**
         * Type of feed object
         * @default null
         */
        feedObjectType?: SCFeedObjectTypologyType;
        /**
         * Feed object
         * @default null
         */
        feedObject?: SCFeedDiscussionType | SCFeedPostType | SCFeedStatusType | null;
        /**
         * Initialization Data for the Composer, this is a hook to generate custom posts
         * @default null
         */
        defaultValue?: {
            title?: string;
            text?: string;
            categories?: SCCategoryType[];
            audience?: string;
            addressing?: SCTagType[];
            medias?: SCMediaType[];
            poll?: SCPollType;
            location?: string;
        };
        /**
         * Initial view to render
         * @default 'main'
         */
        view?: string;
        /**
         * Media objects available
         * @default Image, Document, Link
         */
        mediaObjectTypes?: SCMediaObjectType[];
        /**
         * Callback triggered on success contribution creation
         * @default null
         */
        onSuccess?: (res: any) => void;
        /**
         * Callback triggered on close click
         * @default null
         */
        onClose?: (event: SyntheticEvent) => void;
    };
    defaultComponent: D;
}
export declare type ComposerProps<D extends React.ElementType = ComposerTypeMap['defaultComponent'], P = {}> = OverrideProps<ComposerTypeMap<P, D>, D>;
export declare const MAIN_VIEW = "main";
export declare const AUDIENCE_VIEW = "audience";
export declare const POLL_VIEW = "poll";
export declare const LOCATION_VIEW = "location";
export default function Composer(props: ComposerProps): JSX.Element;
//# sourceMappingURL=Composer.d.ts.map