import React from 'react';
import { SCCategoryType, SCMediaType, SCPollType, SCTagType } from '@selfcommunity/core';
import { CardProps } from '@mui/material';
import { SCMediaObjectType } from '../../types/media';
import { DistributiveOmit } from '@mui/types';
import { OverrideProps } from '@mui/material/OverridableComponent';
export interface InlineComposerTypeMap<P = {}, D extends React.ElementType = 'div'> {
    props: P & DistributiveOmit<CardProps, 'defaultValue'> & {
        /**
         * Media objects available
         * @default Image, Document, Link
         */
        mediaObjectTypes?: SCMediaObjectType[];
        /**
         * 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;
        };
        /**
         * Callback triggered on success contribution creation
         * @default null
         */
        onSuccess?: (res: any) => void;
    };
    defaultComponent: D;
}
export declare type InlineComposerProps<D extends React.ElementType = InlineComposerTypeMap['defaultComponent'], P = {}> = OverrideProps<InlineComposerTypeMap<P, D>, D>;
/**
 > API documentation for the Community-UI Inline Composer component. Learn about the available props and the CSS API.
 *
 #### Import
 ```jsx
 import {InlineComposer} from '@selfcommunity/ui';
 ```
 #### Component Name
 The name `SCInlineComposer` can be used when providing style overrides in the theme.

 #### CSS

 |Rule Name|Global class|Description|
 |---|---|---|
 |root|.SCInlineComposer-root|Styles applied to the root element.|
 |content|.SCInlineComposer-content|Styles applied to the content element.|
 |input|.SCInlineComposer-input|Styles applied to the input element.|
 |actions|.SCInlineComposer-actions|Styles applied to the actions section.|
 |avatar|.SCInlineComposer-avatar|Styles applied to the avatar element.|


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