export default interface WBBEvent {
    version: number;
    clientDbId?: any;
    created: Date;
    type: string;
    hidden?: boolean;
    userId: string;
    agentId?: string;
    channelIn?: string;
    subChannelIn?: string;
    channelsOut?: string[];
    client: string;
    userStatus?: string;
    profile?: any;
    session?: any;
    intervention?: {
        id: string;
        channel: string;
        userChannel?: string;
        department?: string;
        agent?: string;
        resolution?: {
            topic: string;
            outcome: string;
            notes?: string;
            tags?: string[];
            followUp?: {
                schedule?: Date;
                blockId?: string;
            };
        };
        returnBlock?: {
            blockId: string;
            module?: string;
            args?: any;
        };
        twilioToken?: string;
        userReplyTimeout?: number;
    };
    formValue?: {
        valid: boolean;
        formId: string;
        formValue?: any;
        formValueStr?: string;
    };
    message?: {
        sent: {
            twilio?: Date;
            jovo?: Date;
            'agent-socket'?: Date;
            messenger?: Date;
            microsoft?: Date;
            api?: Date;
            email?: Date;
            phone?: Date;
            'n/a'?: Date;
            'browser-call'?: Date;
        };
        delivered: {
            twilio?: Date;
            jovo?: Date;
            'agent-socket'?: Date;
            messenger?: Date;
            microsoft?: Date;
            api?: Date;
            email?: Date;
            phone?: Date;
            'n/a'?: Date;
            'browser-call'?: Date;
        };
        read: {
            twilio?: Date;
            jovo?: Date;
            'agent-socket'?: Date;
            messenger?: Date;
            microsoft?: Date;
            api?: Date;
            email?: Date;
            phone?: Date;
            'n/a'?: Date;
            'browser-call'?: Date;
        };
        type: string;
        resetRequest?: boolean;
        blockRequest?: boolean;
        inputEventId?: string;
        returnBlock?: {
            blockId: string;
            module?: string;
            args?: any;
        };
        formFieldCallback?: {
            args: any;
        };
        blocks?: Array<{
            revision?: number;
            history?: Array<{
                id?: string;
                revision?: number;
                created?: Date;
            }>;
            clientDbId?: any;
            created: Date;
            deleted?: boolean;
            delay?: number;
            module?: string;
            name: string;
            group: string;
            type: string;
            next?: string;
            onReply?: {
                blockId: string;
                module?: string;
                args?: any;
            };
            formFieldCallback?: {
                args: any;
            };
            intentMap?: any;
            voiceAction?: string;
            content: {
                title?: {
                    any?: string;
                    en?: string;
                    nl?: string;
                    cy?: string;
                    it?: string;
                    de?: string;
                };
                text?: {
                    default: {
                        any?: string;
                        en?: string;
                        nl?: string;
                        cy?: string;
                        it?: string;
                        de?: string;
                    };
                };
                image?: string;
                video?: string;
                items?: Array<{
                    title?: {
                        any?: string;
                        en?: string;
                        nl?: string;
                        cy?: string;
                        it?: string;
                        de?: string;
                    };
                    subtitle?: {
                        any?: string;
                        en?: string;
                        nl?: string;
                        cy?: string;
                        it?: string;
                        de?: string;
                    };
                    image?: string;
                    choices?: Array<{
                        title?: {
                            any?: string;
                            en?: string;
                            nl?: string;
                            cy?: string;
                            it?: string;
                            de?: string;
                        };
                        selectedTitle?: string;
                        action: {
                            type: string;
                            value?: any;
                        };
                        profile?: any;
                        formValue?: string;
                        userStatus?: string;
                        session?: any;
                        functionArgs?: any;
                        persistentMenu?: boolean;
                        selectBlock?: {
                            id: string;
                        };
                    }>;
                    defaultChoice?: {
                        title?: {
                            any?: string;
                            en?: string;
                            nl?: string;
                            cy?: string;
                            it?: string;
                            de?: string;
                        };
                        selectedTitle?: string;
                        action: {
                            type: string;
                            value?: any;
                        };
                        profile?: any;
                        formValue?: string;
                        userStatus?: string;
                        session?: any;
                        functionArgs?: any;
                        persistentMenu?: boolean;
                        selectBlock?: {
                            id: string;
                        };
                    };
                }>;
            };
            function?: {
                name?: string;
                handlerName?: string;
                type?: string;
                emailFormAsTable?: {
                    toEmail: string;
                    fromEmail?: string;
                    subject: string;
                };
                args: any;
                formId?: string;
                todo?: boolean;
                tempText?: {
                    any?: string;
                    en?: string;
                    nl?: string;
                    cy?: string;
                    it?: string;
                    de?: string;
                };
                tempChoices: Array<{
                    title?: {
                        any?: string;
                        en?: string;
                        nl?: string;
                        cy?: string;
                        it?: string;
                        de?: string;
                    };
                    selectedTitle?: string;
                    action: {
                        type: string;
                        value?: any;
                    };
                    profile?: any;
                    formValue?: string;
                    userStatus?: string;
                    session?: any;
                    functionArgs?: any;
                    persistentMenu?: boolean;
                    selectBlock?: {
                        id: string;
                    };
                }>;
                webhook?: boolean;
                modules?: string[];
            };
            meta: {
                description?: string;
                choiceType?: string;
                complexBlockType?: string;
                topElementStyle?: string;
                imageAspectRatio?: string;
                messengerTag?: string;
                textOverflow?: string;
                twilioVerb?: string;
                twilioVerbAttributes?: any;
                twilioGatherRepeats?: number;
                jovoFollowUpState?: string;
                alexaPermissionRequired?: string;
            };
        }>;
        evaluatedBlocks?: Array<{
            revision?: number;
            history?: Array<{
                id?: string;
                revision?: number;
                created?: Date;
            }>;
            clientDbId?: any;
            created: Date;
            deleted?: boolean;
            delay?: number;
            module?: string;
            name: string;
            group: string;
            type: string;
            next?: string;
            onReply?: {
                blockId: string;
                module?: string;
                args?: any;
            };
            formFieldCallback?: {
                args: any;
            };
            intentMap?: any;
            voiceAction?: string;
            content: {
                title?: {
                    any?: string;
                    en?: string;
                    nl?: string;
                    cy?: string;
                    it?: string;
                    de?: string;
                };
                text?: {
                    default: {
                        any?: string;
                        en?: string;
                        nl?: string;
                        cy?: string;
                        it?: string;
                        de?: string;
                    };
                };
                image?: string;
                video?: string;
                items?: Array<{
                    title?: {
                        any?: string;
                        en?: string;
                        nl?: string;
                        cy?: string;
                        it?: string;
                        de?: string;
                    };
                    subtitle?: {
                        any?: string;
                        en?: string;
                        nl?: string;
                        cy?: string;
                        it?: string;
                        de?: string;
                    };
                    image?: string;
                    choices?: Array<{
                        title?: {
                            any?: string;
                            en?: string;
                            nl?: string;
                            cy?: string;
                            it?: string;
                            de?: string;
                        };
                        selectedTitle?: string;
                        action: {
                            type: string;
                            value?: any;
                        };
                        profile?: any;
                        formValue?: string;
                        userStatus?: string;
                        session?: any;
                        functionArgs?: any;
                        persistentMenu?: boolean;
                        selectBlock?: {
                            id: string;
                        };
                    }>;
                    defaultChoice?: {
                        title?: {
                            any?: string;
                            en?: string;
                            nl?: string;
                            cy?: string;
                            it?: string;
                            de?: string;
                        };
                        selectedTitle?: string;
                        action: {
                            type: string;
                            value?: any;
                        };
                        profile?: any;
                        formValue?: string;
                        userStatus?: string;
                        session?: any;
                        functionArgs?: any;
                        persistentMenu?: boolean;
                        selectBlock?: {
                            id: string;
                        };
                    };
                }>;
            };
            function?: {
                name?: string;
                handlerName?: string;
                type?: string;
                emailFormAsTable?: {
                    toEmail: string;
                    fromEmail?: string;
                    subject: string;
                };
                args: any;
                formId?: string;
                todo?: boolean;
                tempText?: {
                    any?: string;
                    en?: string;
                    nl?: string;
                    cy?: string;
                    it?: string;
                    de?: string;
                };
                tempChoices: Array<{
                    title?: {
                        any?: string;
                        en?: string;
                        nl?: string;
                        cy?: string;
                        it?: string;
                        de?: string;
                    };
                    selectedTitle?: string;
                    action: {
                        type: string;
                        value?: any;
                    };
                    profile?: any;
                    formValue?: string;
                    userStatus?: string;
                    session?: any;
                    functionArgs?: any;
                    persistentMenu?: boolean;
                    selectBlock?: {
                        id: string;
                    };
                }>;
                webhook?: boolean;
                modules?: string[];
            };
            meta: {
                description?: string;
                choiceType?: string;
                complexBlockType?: string;
                topElementStyle?: string;
                imageAspectRatio?: string;
                messengerTag?: string;
                textOverflow?: string;
                twilioVerb?: string;
                twilioVerbAttributes?: any;
                twilioGatherRepeats?: number;
                jovoFollowUpState?: string;
                alexaPermissionRequired?: string;
            };
        }>;
        preprocessedBlocks?: Array<{
            revision?: number;
            history?: Array<{
                id?: string;
                revision?: number;
                created?: Date;
            }>;
            clientDbId?: any;
            created: Date;
            deleted?: boolean;
            delay?: number;
            module?: string;
            name: string;
            group: string;
            type: string;
            next?: string;
            onReply?: {
                blockId: string;
                module?: string;
                args?: any;
            };
            formFieldCallback?: {
                args: any;
            };
            intentMap?: any;
            voiceAction?: string;
            content: {
                title?: {
                    any?: string;
                    en?: string;
                    nl?: string;
                    cy?: string;
                    it?: string;
                    de?: string;
                };
                text?: string;
                image?: string;
                video?: string;
                items?: Array<{
                    title?: string;
                    subtitle?: string;
                    image?: string;
                    choices?: Array<{
                        title?: string;
                        selectedTitle?: string;
                        action: {
                            type: string;
                            value?: any;
                        };
                        profile?: any;
                        formValue?: string;
                        userStatus?: string;
                        session?: any;
                        functionArgs?: any;
                        persistentMenu?: boolean;
                        selectBlock?: {
                            id: string;
                        };
                        serialized: string;
                    }>;
                    defaultChoice?: {
                        title?: string;
                        selectedTitle?: string;
                        action: {
                            type: string;
                            value?: any;
                        };
                        profile?: any;
                        formValue?: string;
                        userStatus?: string;
                        session?: any;
                        functionArgs?: any;
                        persistentMenu?: boolean;
                        selectBlock?: {
                            id: string;
                        };
                        serialized: string;
                    };
                }>;
            };
            function?: {
                name?: string;
                handlerName?: string;
                type?: string;
                emailFormAsTable?: {
                    toEmail: string;
                    fromEmail?: string;
                    subject: string;
                };
                args: any;
                formId?: string;
                todo?: boolean;
                tempText?: {
                    any?: string;
                    en?: string;
                    nl?: string;
                    cy?: string;
                    it?: string;
                    de?: string;
                };
                tempChoices: Array<{
                    title?: {
                        any?: string;
                        en?: string;
                        nl?: string;
                        cy?: string;
                        it?: string;
                        de?: string;
                    };
                    selectedTitle?: string;
                    action: {
                        type: string;
                        value?: any;
                    };
                    profile?: any;
                    formValue?: string;
                    userStatus?: string;
                    session?: any;
                    functionArgs?: any;
                    persistentMenu?: boolean;
                    selectBlock?: {
                        id: string;
                    };
                }>;
                webhook?: boolean;
                modules?: string[];
            };
            meta: {
                description?: string;
                choiceType?: string;
                complexBlockType?: string;
                topElementStyle?: string;
                imageAspectRatio?: string;
                messengerTag?: string;
                textOverflow?: string;
                twilioVerb?: string;
                twilioVerbAttributes?: any;
                twilioGatherRepeats?: number;
                jovoFollowUpState?: string;
                alexaPermissionRequired?: string;
            };
        }>;
        selectedLang?: string;
        text?: {
            text: string;
            language?: string;
        };
        wit?: any;
        parsedText?: any;
        sentiment?: {
            knowlbase?: {
                neg?: number;
                neu?: number;
                pos?: number;
                compound?: number;
            };
            watson?: {
                emotion?: any;
                sentiment?: any;
            };
            calculated?: {
                label: string;
                score: number;
            };
        };
        file: string[];
        image: string[];
        video: string[];
        audio: string[];
        location?: {
            address?: {
                address1?: string;
                address2?: string;
                district?: string;
                city?: string;
                region?: string;
                postalCode?: string;
                postalAreaCode?: string;
                country?: string;
            };
            countryCode?: string;
            language?: string;
            lat?: number;
            lon?: number;
            easting?: number;
            northing?: number;
            radius?: number;
            name?: string;
            uprn?: string;
            isPostcodeUpdated?: boolean;
            postcodeConfirmed?: boolean;
            setByForm?: boolean;
            rejected?: boolean;
            userInput?: {
                address1?: string;
                postalCode?: string;
            };
        };
        url?: string;
        phone?: string;
        fbAdvertId?: string;
        choice?: {
            title?: {
                any?: string;
                en?: string;
                nl?: string;
                cy?: string;
                it?: string;
                de?: string;
            };
            selectedTitle?: string;
            action: {
                type: string;
                value?: any;
            };
            profile?: any;
            formValue?: string;
            userStatus?: string;
            session?: any;
            functionArgs?: any;
            persistentMenu?: boolean;
            selectBlock?: {
                id: string;
            };
        };
        intent?: {
            blockPointer?: {
                blockId: string;
                module?: string;
                args?: any;
            };
            intentName?: string;
            intentMap?: any;
        };
    };
    control?: {
        type: string;
        channelsOut?: string[];
        blockPointer?: {
            blockId: string;
            module?: string;
            args?: any;
        };
        blocks?: Array<{
            revision?: number;
            history?: Array<{
                id?: string;
                revision?: number;
                created?: Date;
            }>;
            clientDbId?: any;
            created: Date;
            deleted?: boolean;
            delay?: number;
            module?: string;
            name: string;
            group: string;
            type: string;
            next?: string;
            onReply?: {
                blockId: string;
                module?: string;
                args?: any;
            };
            formFieldCallback?: {
                args: any;
            };
            intentMap?: any;
            voiceAction?: string;
            content: {
                title?: {
                    any?: string;
                    en?: string;
                    nl?: string;
                    cy?: string;
                    it?: string;
                    de?: string;
                };
                text?: {
                    default: {
                        any?: string;
                        en?: string;
                        nl?: string;
                        cy?: string;
                        it?: string;
                        de?: string;
                    };
                };
                image?: string;
                video?: string;
                items?: Array<{
                    title?: {
                        any?: string;
                        en?: string;
                        nl?: string;
                        cy?: string;
                        it?: string;
                        de?: string;
                    };
                    subtitle?: {
                        any?: string;
                        en?: string;
                        nl?: string;
                        cy?: string;
                        it?: string;
                        de?: string;
                    };
                    image?: string;
                    choices?: Array<{
                        title?: {
                            any?: string;
                            en?: string;
                            nl?: string;
                            cy?: string;
                            it?: string;
                            de?: string;
                        };
                        selectedTitle?: string;
                        action: {
                            type: string;
                            value?: any;
                        };
                        profile?: any;
                        formValue?: string;
                        userStatus?: string;
                        session?: any;
                        functionArgs?: any;
                        persistentMenu?: boolean;
                        selectBlock?: {
                            id: string;
                        };
                    }>;
                    defaultChoice?: {
                        title?: {
                            any?: string;
                            en?: string;
                            nl?: string;
                            cy?: string;
                            it?: string;
                            de?: string;
                        };
                        selectedTitle?: string;
                        action: {
                            type: string;
                            value?: any;
                        };
                        profile?: any;
                        formValue?: string;
                        userStatus?: string;
                        session?: any;
                        functionArgs?: any;
                        persistentMenu?: boolean;
                        selectBlock?: {
                            id: string;
                        };
                    };
                }>;
            };
            function?: {
                name?: string;
                handlerName?: string;
                type?: string;
                emailFormAsTable?: {
                    toEmail: string;
                    fromEmail?: string;
                    subject: string;
                };
                args: any;
                formId?: string;
                todo?: boolean;
                tempText?: {
                    any?: string;
                    en?: string;
                    nl?: string;
                    cy?: string;
                    it?: string;
                    de?: string;
                };
                tempChoices: Array<{
                    title?: {
                        any?: string;
                        en?: string;
                        nl?: string;
                        cy?: string;
                        it?: string;
                        de?: string;
                    };
                    selectedTitle?: string;
                    action: {
                        type: string;
                        value?: any;
                    };
                    profile?: any;
                    formValue?: string;
                    userStatus?: string;
                    session?: any;
                    functionArgs?: any;
                    persistentMenu?: boolean;
                    selectBlock?: {
                        id: string;
                    };
                }>;
                webhook?: boolean;
                modules?: string[];
            };
            meta: {
                description?: string;
                choiceType?: string;
                complexBlockType?: string;
                topElementStyle?: string;
                imageAspectRatio?: string;
                messengerTag?: string;
                textOverflow?: string;
                twilioVerb?: string;
                twilioVerbAttributes?: any;
                twilioGatherRepeats?: number;
                jovoFollowUpState?: string;
                alexaPermissionRequired?: string;
            };
        }>;
        errorMsg?: string;
    };
    meta?: {
        broadcastId?: string;
        followUpId?: string;
        userIp?: string;
        messenger?: {
            mid?: string;
            referral?: boolean;
            tag?: string;
        };
        api?: {
            requestOrigin?: {
                referer?: string;
                domain?: string;
                subdomain?: string;
            };
            wbbChatPlugin?: {
                domain?: string;
                subdomain?: string;
                url?: string;
                urlNoQuery?: string;
            };
        };
        twilio?: {
            twilioNumber?: string;
            userNumber?: string;
            callSid?: string;
        };
        jovo?: {
            displayName: string;
        };
        other?: any;
    };
    browserCall?: {
        callId: string;
        status: string;
        twilio?: {
            ApiVersion?: string;
            Called?: string;
            ParentCallSid?: string;
            CallStatus?: string;
            From?: string;
            Direction?: string;
            Timestamp?: string;
            AccountSid?: string;
            CallbackSource?: string;
            Caller?: string;
            SequenceNumber?: string;
            CallSid?: string;
            To?: string;
        };
    };
    _id?: any;
}
