export default interface BlockObj {
    _id?: any;
    revision?: number;
    clientDbId?: any;
    created: Date;
    eventIds?: string[];
    events?: string[];
    deleted?: boolean;
    delay?: number;
    module?: string;
    name: string;
    ignoreDuringRecommendations?: boolean;
    group: string;
    type: string;
    next?: string;
    variables?: Array<{
        title: string;
        value: any;
    }>;
    onReply?: {
        blockId: string;
        module?: string;
        args?: any;
    };
    interventionBlock?: boolean;
    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;
            video?: string;
            choices?: Array<{
                title?: {
                    any?: string;
                    en?: string;
                    nl?: string;
                    cy?: string;
                    it?: string;
                    de?: string;
                };
                selectedTitle?: string;
                action: {
                    type: string;
                    value?: any;
                    view?: string;
                    track?: boolean;
                };
                profile?: any;
                formValue?: string;
                userStatus?: string;
                session?: any;
                functionArgs?: any;
                persistentMenu?: boolean;
                next?: string;
                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;
                next?: string;
                selectBlock?: {
                    id: string;
                };
            };
            serialized?: string;
        }>;
        kb?: {
            lastScrape?: Date;
            url?: string;
            text?: string;
            autoUpdate?: boolean;
        };
    };
    function?: {
        name?: string;
        handlerName?: string;
        type?: string;
        unsetFormIds?: string[];
        unsetAllForms?: boolean;
        logic?: {
            formId?: string;
            defaultMappingBlockId: string;
            expressions?: Array<{
                condition: any;
                blockId: string;
            }>;
        };
        emailFormAsTable?: {
            toEmail: string;
            fromEmail?: string;
            subject: string;
            unset?: boolean;
        };
        argosLabsExecuteScenario?: {
            apiScenarioId: string;
            apiPamId: string;
            botParameters?: any;
            startedMessage: {
                any?: string;
                en?: string;
                nl?: string;
                cy?: string;
                it?: string;
                de?: string;
            };
            finishedMessage: {
                any?: string;
                en?: string;
                nl?: string;
                cy?: string;
                it?: string;
                de?: 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;
            next?: string;
            selectBlock?: {
                id: string;
            };
        }>;
        webhook?: boolean;
        endpoint?: string;
        icon?: string;
        modules?: string[];
    };
    devSwitch?: {
        nonProductionBlockId?: string;
        productionBlockId?: 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;
    };
}
