import * as Types from '../../../../../api/types';
import * as ApolloReactCommon from '@apollo/client';
import * as ApolloReactHooks from '@apollo/client';
export declare type PostConversationV2MutationVariables = Types.Exact<{
    conversationId: Types.Scalars['ID'];
    data: Types.ConversationItemInputV2;
}>;
export declare type PostConversationV2Mutation = {
    __typename?: 'Mutation';
    PostConversationItemV2: {
        __typename?: 'ConversationItem';
        _id: string;
        conversationId: string;
        createdAt: string;
        senderType: Types.ConversationSenderType;
        card?: {
            __typename?: 'ConversationCard';
            type: Types.ConversationCardType;
            link?: string | null;
            image?: string | null;
            title?: string | null;
            appIcon?: string | null;
            appTitle?: string | null;
            createdBy: Types.ConversationCardSender;
            description?: string | null;
        } | null;
        buttons: Array<{
            __typename?: 'ConversationItemButton';
            _id: string;
            text: string;
            type: Types.ConversationItemButtonType;
            action_type: Types.ConversationItemButtonActionType;
            url?: string | null;
            target?: Types.ConversationItemButtonTarget | null;
            event_name?: string | null;
            event_payload?: string | null;
        }>;
        attachments: Array<{
            __typename?: 'Attachment';
            _id: string;
            pending: boolean;
            uploaded: boolean;
            fileName: string;
            extension: string;
            size?: number | null;
            url?: string | null;
            uploadUrl?: string | null;
        }>;
        content: {
            __typename?: 'ConversationContent';
            type: Types.ConversationContentType;
            messageString?: string | null;
            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;
                        italic?: boolean | null;
                        underline?: boolean | null;
                    }> | null;
                } | {
                    __typename?: 'InlineTextElement';
                    _id: string;
                    text: string;
                    bold?: boolean | null;
                    italic?: boolean | null;
                    underline?: boolean | null;
                }>;
            }>;
        };
        sender: {
            __typename?: 'APIIntegration';
            logoURL?: string | null;
            displayName?: string | null;
            displayDescription?: string | null;
        } | {
            __typename?: 'MemberUser';
            name?: string | null;
            lastName: string;
            firstName: string;
            logoURL?: string | null;
        } | {
            __typename?: 'Visitor';
            _id: string;
            name?: string | null;
            image?: string | null;
        };
    };
};
export declare const PostConversationV2Document: ApolloReactCommon.DocumentNode;
export declare type PostConversationV2MutationFn = ApolloReactCommon.MutationFunction<PostConversationV2Mutation, PostConversationV2MutationVariables>;
/**
 * __usePostConversationV2Mutation__
 *
 * To run a mutation, you first call `usePostConversationV2Mutation` within a React component and pass it any options that fit your needs.
 * When your component renders, `usePostConversationV2Mutation` 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 [postConversationV2Mutation, { data, loading, error }] = usePostConversationV2Mutation({
 *   variables: {
 *      conversationId: // value for 'conversationId'
 *      data: // value for 'data'
 *   },
 * });
 */
export declare function usePostConversationV2Mutation(baseOptions?: ApolloReactHooks.MutationHookOptions<PostConversationV2Mutation, PostConversationV2MutationVariables>): ApolloReactCommon.MutationTuple<PostConversationV2Mutation, Types.Exact<{
    conversationId: string;
    data: Types.ConversationItemInputV2;
}>, ApolloReactCommon.DefaultContext, ApolloReactCommon.ApolloCache<any>>;
export declare type PostConversationV2MutationHookResult = ReturnType<typeof usePostConversationV2Mutation>;
export declare type PostConversationV2MutationResult = ApolloReactCommon.MutationResult<PostConversationV2Mutation>;
export declare type PostConversationV2MutationOptions = ApolloReactCommon.BaseMutationOptions<PostConversationV2Mutation, PostConversationV2MutationVariables>;
