import * as Types from '../../../../api/types';
import * as ApolloReactCommon from '@apollo/client';
import * as ApolloReactHooks from '@apollo/client';
export declare type OnConversationSubscriptionVariables = Types.Exact<{
    [key: string]: never;
}>;
export declare type OnConversationSubscription = {
    __typename?: 'Subscription';
    OnConversation: {
        __typename?: 'ConversationUpdate';
        userInteraction: boolean;
        conversation: {
            __typename?: 'Conversation';
            _id: string;
            done: boolean;
            answered: boolean;
            createdAt: string;
            visitor: {
                __typename?: 'Visitor';
                name?: string | null;
                email?: string | null;
                image?: string | null;
            };
            lastItem?: {
                __typename?: 'ConversationItem';
                _id: string;
                conversationId: string;
                createdAt: string;
                senderType: Types.ConversationSenderType;
                card?: {
                    __typename?: 'ConversationCard';
                    type: Types.ConversationCardType;
                    title?: string | null;
                    appTitle?: string | null;
                    description?: string | null;
                } | null;
                buttons: Array<{
                    __typename?: 'ConversationItemButton';
                    _id: string;
                    text: string;
                }>;
                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;
                };
            } | null;
        };
        messages: Array<{
            __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 OnConversationDocument: ApolloReactCommon.DocumentNode;
/**
 * __useOnConversationSubscription__
 *
 * To run a query within a React component, call `useOnConversationSubscription` and pass it any options that fit your needs.
 * When your component renders, `useOnConversationSubscription` returns an object from Apollo Client that contains loading, error, and data properties
 * you can use to render your UI.
 *
 * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
 *
 * @example
 * const { data, loading, error } = useOnConversationSubscription({
 *   variables: {
 *   },
 * });
 */
export declare function useOnConversationSubscription(baseOptions?: ApolloReactHooks.SubscriptionHookOptions<OnConversationSubscription, OnConversationSubscriptionVariables>): ApolloReactCommon.SubscriptionResult<OnConversationSubscription, any>;
export declare type OnConversationSubscriptionHookResult = ReturnType<typeof useOnConversationSubscription>;
export declare type OnConversationSubscriptionResult = ApolloReactCommon.SubscriptionResult<OnConversationSubscription>;
