import * as Types from '../../../../../api/types';
import * as ApolloReactCommon from '@apollo/client';
import * as ApolloReactHooks from '@apollo/client';
export declare type PostConversationMutationVariables = Types.Exact<{
    conversationId: Types.Scalars['ID'];
    data: Types.ConversationItemInput;
}>;
export declare type PostConversationMutation = {
    __typename?: 'Mutation';
    PostConversationItem: {
        __typename?: 'ConversationItem';
        _id: string;
        conversationId: string;
        createdAt: string;
        senderType: Types.ConversationSenderType;
        card?: {
            __typename?: 'ConversationCard';
            type: Types.ConversationCardType;
            link?: string | null | undefined;
            image?: string | null | undefined;
            title: string;
            appIcon?: string | null | undefined;
            appTitle?: string | null | undefined;
            createdBy: Types.ConversationCardSender;
            description?: string | null | undefined;
        } | null | undefined;
        buttons: Array<{
            __typename?: 'ConversationItemButton';
            _id: string;
            text: string;
            type: Types.ConversationItemButtonType;
            action_type: Types.ConversationItemButtonActionType;
            url?: string | null | undefined;
            target?: Types.ConversationItemButtonTarget | null | undefined;
            event_name?: string | null | undefined;
        }>;
        attachments: Array<{
            __typename?: 'Attachment';
            _id: string;
            pending: boolean;
            uploaded: boolean;
            fileName: string;
            extension: string;
            size?: number | null | undefined;
            url?: string | null | undefined;
            uploadUrl?: string | null | undefined;
        }>;
        content: {
            __typename?: 'ConversationContent';
            type: Types.ConversationContentType;
            messageString?: string | null | undefined;
            message: Array<{
                __typename?: 'ParagraphElement';
                _id: string;
                type: string;
                children: Array<{
                    __typename?: 'InlineLinkElement';
                    _id: string;
                    url: string;
                    type: string;
                    children?: Array<{
                        __typename?: 'InlineTextElement';
                        _id: string;
                        text: string;
                        bold?: boolean | null | undefined;
                        italic?: boolean | null | undefined;
                        underline?: boolean | null | undefined;
                    }> | null | undefined;
                } | {
                    __typename?: 'InlineTextElement';
                    _id: string;
                    text: string;
                    bold?: boolean | null | undefined;
                    italic?: boolean | null | undefined;
                    underline?: boolean | null | undefined;
                }>;
            }>;
        };
        sender: {
            __typename?: 'APIIntegration';
            logoURL?: string | null | undefined;
            displayName?: string | null | undefined;
            displayDescription?: string | null | undefined;
        } | {
            __typename?: 'MemberUser';
            name?: string | null | undefined;
            lastName: string;
            firstName: string;
            logoURL?: string | null | undefined;
        } | {
            __typename?: 'Visitor';
            _id: string;
            name?: string | null | undefined;
            image?: string | null | undefined;
        };
    };
};
export declare const PostConversationDocument: ApolloReactCommon.DocumentNode;
export declare type PostConversationMutationFn = ApolloReactCommon.MutationFunction<PostConversationMutation, PostConversationMutationVariables>;
/**
 * __usePostConversationMutation__
 *
 * To run a mutation, you first call `usePostConversationMutation` within a React component and pass it any options that fit your needs.
 * When your component renders, `usePostConversationMutation` returns a tuple that includes:
 * - A mutate function that you can call at any time to execute the mutation
 * - An object with fields that represent the current status of the mutation's execution
 *
 * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
 *
 * @example
 * const [postConversationMutation, { data, loading, error }] = usePostConversationMutation({
 *   variables: {
 *      conversationId: // value for 'conversationId'
 *      data: // value for 'data'
 *   },
 * });
 */
export declare function usePostConversationMutation(baseOptions?: ApolloReactHooks.MutationHookOptions<PostConversationMutation, PostConversationMutationVariables>): ApolloReactCommon.MutationTuple<PostConversationMutation, Types.Exact<{
    conversationId: string;
    data: Types.ConversationItemInput;
}>, ApolloReactCommon.DefaultContext, ApolloReactCommon.ApolloCache<any>>;
export declare type PostConversationMutationHookResult = ReturnType<typeof usePostConversationMutation>;
export declare type PostConversationMutationResult = ApolloReactCommon.MutationResult<PostConversationMutation>;
export declare type PostConversationMutationOptions = ApolloReactCommon.BaseMutationOptions<PostConversationMutation, PostConversationMutationVariables>;
