Documentation
    Preparing search index...
    index: {
        actions: {
            blocks: {
                configFields: { input_type: string; name: string }[];
                description: string;
                disableInBuilder: boolean;
                disableInList: boolean;
                disableInWorkflow: boolean;
                namespace: string;
                run: (
                    opts: {
                        channel?: string;
                        configuration: { code: string; run_where: string };
                        row?: Row;
                        table?: Table;
                        user?: User | AbstractUser;
                        [key: string]: any;
                    },
                ) => Promise<any>;
            };
            convert_session_to_user: {
                configFields: (
                    __namedParameters: any,
                ) => Promise<
                    (
                        | {
                            attributes?: undefined;
                            input_type: string;
                            label: string;
                            name: string;
                            options: string[];
                            sublabel: string;
                            type?: undefined;
                        }
                        | {
                            attributes: { calcOptions: ((...) | (...))[] };
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            sublabel: string;
                            type: string;
                        }
                    )[],
                >;
                description: string;
                namespace: string;
                run: (
                    __namedParameters: {
                        configuration: {
                            session_field: string;
                            table_name: string;
                            user_field: string;
                        };
                        row?: Row & { old_session_id?: string };
                        user?: User | AbstractUser;
                    },
                ) => Promise<void>;
            };
            copy_to_clipboard: {
                configFields: {
                    label: string;
                    name: string;
                    required: boolean;
                    sublabel: string;
                    type: string;
                }[];
                description: string;
                namespace: string;
                requireRow: boolean;
                run: (
                    __namedParameters: {
                        configuration: { text_template?: string };
                        req?: Req;
                        row?: Row;
                        table?: Table;
                        user?: User | AbstractUser;
                        [key: string]: any;
                    },
                ) => Promise<{ eval_js: string }>;
            };
            delete_rows: {
                configFields: (
                    __namedParameters: any,
                ) => Promise<
                    (
                        | {
                            class?: undefined;
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            required?: undefined;
                            showIf?: undefined;
                            sublabel?: undefined;
                            type: string;
                        }
                        | {
                            class?: undefined;
                            input_type: string;
                            label: string;
                            name: string;
                            options: string[];
                            required?: undefined;
                            showIf: { delete_triggering_row: boolean }
                            | undefined;
                            sublabel: string;
                            type?: undefined;
                        }
                        | {
                            class: string;
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            required: boolean;
                            showIf: { delete_triggering_row: boolean }
                            | undefined;
                            sublabel: string;
                            type: string;
                        }
                    )[],
                >;
                description: string;
                namespace: string;
                run: (
                    __namedParameters: {
                        configuration: {
                            delete_triggering_row?: boolean;
                            delete_where?: string;
                            table_name?: string;
                        };
                        row?: Row;
                        table?: Table;
                        user?: User
                        | AbstractUser;
                        [key: string]: any;
                    },
                ) => Promise<{}>;
            };
            download_file_to_browser: {
                configFields: (
                    __namedParameters: { mode: string; table: Table },
                ) => Promise<
                    | {
                        class: string;
                        label: string;
                        name: string;
                        sublabel: string;
                        type: string;
                    }[]
                    | {
                        attributes: { options: string[] };
                        label: string;
                        name: string;
                        required: boolean;
                        type: string;
                    }[],
                >;
                description: string;
                run: (
                    __namedParameters: {
                        configuration: { file_field?: string; filepath_expr?: string };
                        mode?: string;
                        row?: Row;
                        user?: User | AbstractUser;
                    },
                ) => Promise<
                    | {
                        download: {
                            blob: string
                            | Buffer<ArrayBufferLike>;
                            filename: string;
                            mimetype: string;
                        };
                    }
                    | undefined,
                >;
            };
            duplicate_row: {
                configFields: () => never[];
                description: string;
                disableInWorkflow: boolean;
                namespace: string;
                requireRow: boolean;
                run: (
                    opts: { row: Row; table: Table; user?: User | AbstractUser },
                ) => Promise<void>;
            };
            duplicate_row_prefill_edit: {
                configFields: (
                    __namedParameters: any,
                ) => Promise<
                    (
                        | { default: boolean; label: string; name: string; type: string }
                        | {
                            input_type: string;
                            label: string;
                            name: string;
                            options: string[];
                        }
                    )[],
                >;
                disableInWorkflow: boolean;
                namespace: string;
                requireRow: boolean;
                run: (
                    __namedParameters: {
                        configuration: { viewname: string; [key: string]: any };
                        row: Row;
                        table: Table;
                        user?: User | AbstractUser;
                    },
                ) => Promise<{ goto: string }>;
            };
            emit_event: {
                configFields: () => (
                    | {
                        fieldview?: undefined;
                        input_type: string;
                        label: string;
                        name: string;
                        options: string[];
                        required: boolean;
                        sublabel?: undefined;
                        type?: undefined;
                    }
                    | {
                        fieldview: string;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        required?: undefined;
                        sublabel?: undefined;
                        type: string;
                    }
                    | {
                        fieldview: string;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        required?: undefined;
                        sublabel: string;
                        type: string;
                    }
                )[];
                description: string;
                namespace: string;
                run: (
                    opts: {
                        configuration: {
                            channel?: string;
                            eventType: string;
                            payload?: any;
                        };
                        row: Row;
                        user?: User
                        | AbstractUser;
                    },
                ) => Promise<void>;
            };
            find_or_create_dm_room: {
                configFields: () => Promise<
                    {
                        input_type: string;
                        label: string;
                        name: string;
                        options: string[];
                        sublabel: string;
                    }[],
                >;
                description: string;
                namespace: string;
                run: (
                    opts: {
                        configuration: { viewname: string };
                        row: Row;
                        table?: Table;
                        user: User;
                    },
                ) => Promise<{ goto: string }>;
            };
            form_action: {
                configFields: {
                    attributes: { options: string[] };
                    label: string;
                    name: string;
                    required: boolean;
                    type: string;
                }[];
                description: string;
                namespace: string;
                requireRow: boolean;
                run: (
                    __namedParameters: {
                        configuration: { form_action: string };
                        req?: Req;
                        row?: Row;
                        table: Table;
                        user?: User | AbstractUser;
                        [key: string]: any;
                    },
                ) => Promise<
                    | {
                        eval_js: string;
                        notify_success?: undefined;
                        set_fields?: undefined;
                    }
                    | {
                        eval_js?: undefined;
                        notify_success: string;
                        set_fields: { [key: string]: any };
                    }
                    | {
                        eval_js?: undefined;
                        notify_success: string;
                        set_fields?: undefined;
                    },
                >;
            };
            insert_any_row: {
                configFields: (
                    __namedParameters: any,
                ) => Promise<
                    (
                        | {
                            attributes?: undefined;
                            class?: undefined;
                            fieldview?: undefined;
                            input_type: string;
                            label: string;
                            name: string;
                            options: string[];
                            sublabel: string;
                            type?: undefined;
                        }
                        | {
                            attributes: { spellcheck: boolean };
                            class: string;
                            fieldview: string;
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            sublabel: string;
                            type: string;
                        }
                        | {
                            attributes?: undefined;
                            class?: undefined;
                            fieldview?: undefined;
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            sublabel: string;
                            type: string;
                        }
                    )[],
                >;
                description: string;
                namespace: string;
                run: (
                    opts: {
                        configuration: {
                            id_variable?: string;
                            row_expr: string;
                            table: string;
                        };
                        referrer?: string;
                        row?: Row;
                        table?: Table;
                        user?: User
                        | AbstractUser;
                        [key: string]: any;
                    },
                ) => Promise<GenObj>;
            };
            insert_joined_row: {
                configFields: (
                    __namedParameters: any,
                ) => Promise<
                    {
                        input_type: string;
                        label: string;
                        name: string;
                        options: any;
                        sublabel: string;
                    }[],
                >;
                description: string;
                disableInWorkflow: boolean;
                namespace: string;
                requireRow: boolean;
                run: (
                    opts: {
                        configuration: { joined_table: string };
                        row: Row;
                        table: Table;
                        user?: User | AbstractUser;
                    },
                ) => Promise<any>;
            };
            install_progressive_web_app: {
                configFields: () => never[];
                description: string;
                run: (
                    __namedParameters: { req: Req },
                ) => Promise<
                    | { error?: undefined; eval_js: string }
                    | { error: string; eval_js?: undefined },
                >;
            };
            loop_rows: {
                configFields: () => Promise<
                    (
                        | {
                            attributes?: undefined;
                            input_type: string;
                            label: string;
                            name: string;
                            options: string[];
                            sublabel: string;
                            type?: undefined;
                        }
                        | {
                            attributes: {
                                calcOptions?: undefined;
                                expression_type: string;
                                min?: undefined;
                                mode: string;
                                singleline: boolean;
                            };
                            input_type: string;
                            label: string;
                            name: string;
                            options?: undefined;
                            sublabel: string;
                            type?: undefined;
                        }
                        | {
                            attributes?: undefined;
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            sublabel: string;
                            type: string;
                        }
                        | {
                            attributes: {
                                calcOptions: ((...) | (...))[];
                                expression_type?: undefined;
                                min?: undefined;
                                mode?: undefined;
                                singleline?: undefined;
                            };
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            sublabel?: undefined;
                            type: string;
                        }
                        | {
                            attributes?: undefined;
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            sublabel?: undefined;
                            type: string;
                        }
                        | {
                            attributes: {
                                calcOptions?: undefined;
                                expression_type?: undefined;
                                min: number;
                                mode?: undefined;
                                singleline?: undefined;
                            };
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            sublabel: string;
                            type: string;
                        }
                        | {
                            attributes?: undefined;
                            input_type: string;
                            label: string;
                            name: string;
                            options: { label: (...)
                            | (...); value: (...) | (...) | (...) }[];
                            sublabel: string;
                            type?: undefined;
                        }
                    )[],
                >;
                description: string;
                namespace: string;
                run: (
                    opts: {
                        configuration: {
                            interval?: number;
                            limit?: number;
                            orderBy?: string;
                            orderDesc?: boolean;
                            table_name: string;
                            trigger_id?: number;
                            where?: Where;
                        };
                        row: Row;
                        user?: User
                        | AbstractUser;
                        [key: string]: unknown;
                    },
                ) => Promise<{}>;
            };
            modify_row: {
                configFields: (
                    __namedParameters: { mode: string; when_trigger: string },
                ) => Promise<
                    (
                        | {
                            attributes: {
                                compact: boolean;
                                expression_type: string;
                                mode: string;
                                options?: undefined;
                                showIf?: undefined;
                                singleline?: undefined;
                            };
                            input_type: string;
                            label: string;
                            name: string;
                            required?: undefined;
                            showIf?: undefined;
                            sublabel: string;
                            type?: undefined;
                        }
                        | {
                            attributes: {
                                compact?: undefined;
                                expression_type?: undefined;
                                mode?: undefined;
                                options: string[];
                                showIf?: undefined;
                                singleline?: undefined;
                            };
                            input_type?: undefined;
                            label: string;
                            name: string;
                            required: boolean;
                            showIf?: undefined;
                            sublabel?: undefined;
                            type: string;
                        }
                        | {
                            attributes: {
                                compact?: undefined;
                                expression_type?: undefined;
                                mode?: undefined;
                                options: string[];
                                showIf: { where: string };
                                singleline?: undefined;
                            };
                            input_type?: undefined;
                            label: string;
                            name: string;
                            required: boolean;
                            showIf?: undefined;
                            sublabel?: undefined;
                            type: string;
                        }
                        | {
                            attributes: {
                                compact?: undefined;
                                expression_type: string;
                                mode: string;
                                options?: undefined;
                                showIf?: undefined;
                                singleline: boolean;
                            };
                            input_type: string;
                            label: string;
                            name: string;
                            required: boolean;
                            showIf: { where: string };
                            sublabel?: undefined;
                            type?: undefined;
                        }
                    )[],
                >;
                description: string;
                namespace: string;
                requireRow: boolean;
                run: (
                    __namedParameters: {
                        configuration: {
                            query?: string;
                            row_expr: string;
                            select_table?: string;
                            where?: string;
                        };
                        row?: Row;
                        table?: Table;
                        user?: User
                        | AbstractUser;
                        [key: string]: any;
                    },
                ) => Promise<
                    ErrorMessage
                    | SuccessMessage
                    | { set_fields: any }
                    | undefined,
                >;
            };
            navigate: {
                configFields: () => Promise<
                    (
                        | {
                            attributes: { options: string[] };
                            class?: undefined;
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            required: boolean;
                            showIf?: undefined;
                            type: string;
                        }
                        | {
                            attributes?: undefined;
                            class?: undefined;
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            required: boolean;
                            showIf: { nav_action: string[] };
                            type: string;
                        }
                        | {
                            attributes?: undefined;
                            class?: undefined;
                            input_type: string;
                            label: string;
                            name: string;
                            options: string[];
                            required?: undefined;
                            showIf: { nav_action: string };
                            type?: undefined;
                        }
                        | {
                            attributes?: undefined;
                            class: string;
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            required?: undefined;
                            showIf: { nav_action: string[] };
                            type: string;
                        }
                        | {
                            attributes?: undefined;
                            class?: undefined;
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            required?: undefined;
                            showIf: { nav_action: string[] };
                            type: string;
                        }
                    )[],
                >;
                description: string;
                namespace: string;
                run: (
                    __namedParameters: {
                        configuration: {
                            in_popup?: boolean;
                            nav_action: string;
                            new_tab?: boolean;
                            page?: string;
                            state_formula?: string;
                            url?: string;
                            view?: string;
                        };
                        req?: Req;
                        row?: Row;
                        user?: User
                        | AbstractUser;
                    },
                ) => Promise<
                    | {
                        eval_js?: undefined;
                        popup?: undefined;
                        reload_page?: undefined;
                        target?: string;
                    }
                    | { eval_js?: undefined; popup: any; reload_page?: undefined }
                    | { eval_js: string; popup?: undefined; reload_page?: undefined }
                    | { eval_js?: undefined; popup?: undefined; reload_page: boolean }
                    | undefined,
                >;
            };
            notify_user: {
                configFields: () => (
                    | { label: string; name: string; required?: undefined; type: string }
                    | { label: string; name: string; required: boolean; type: string }
                )[];
                description: string;
                namespace: string;
                run: (
                    opts: {
                        configuration: {
                            body?: string;
                            link?: string;
                            title: string;
                            user_spec: string | number | GenObj;
                        };
                        row?: Row;
                        user?: User
                        | AbstractUser;
                    },
                ) => Promise<void>;
            };
            progress_bar: {
                configFields: (
                    | {
                        class?: undefined;
                        label: string;
                        name: string;
                        required?: undefined;
                        showIf?: undefined;
                        sublabel: string;
                        type: string;
                    }
                    | {
                        class: string;
                        label: string;
                        name: string;
                        required: boolean;
                        showIf: { blocking: boolean; close?: undefined };
                        sublabel: string;
                        type: string;
                    }
                    | {
                        class?: undefined;
                        label: string;
                        name: string;
                        required?: undefined;
                        showIf: { blocking: boolean; close: boolean };
                        sublabel: string;
                        type: string;
                    }
                    | {
                        class?: undefined;
                        label: string;
                        name: string;
                        required?: undefined;
                        showIf: { blocking: boolean; close: boolean };
                        sublabel?: undefined;
                        type: string;
                    }
                    | {
                        class?: undefined;
                        label: string;
                        name: string;
                        required?: undefined;
                        showIf: { blocking?: undefined; close: boolean };
                        sublabel?: undefined;
                        type: string;
                    }
                    | {
                        class?: undefined;
                        label: string;
                        name: string;
                        required?: undefined;
                        showIf: { blocking?: undefined; close: boolean };
                        sublabel: string;
                        type: string;
                    }
                )[];
                description: string;
                namespace: string;
                run: (
                    __namedParameters: {
                        configuration: {
                            blocking?: boolean;
                            close?: boolean;
                            id?: string;
                            maxHeight?: string;
                            message?: string;
                            percent?: string;
                            popupWidth?: string;
                            title?: string;
                        };
                        req?: Req;
                        row?: Row;
                        user?: User
                        | AbstractUser;
                    },
                ) => Promise<
                    {
                        page_load_tag: any;
                        progress_bar_update: {
                            blocking: boolean
                            | undefined;
                            close: boolean | undefined;
                            id: any;
                            maxHeight: string | undefined;
                            message: any;
                            percent: number;
                            popupWidth: string | undefined;
                            title: any;
                        };
                    },
                >;
            };
            recalculate_stored_fields: {
                configFields: (
                    __namedParameters: any,
                ) => Promise<
                    (
                        | {
                            attributes?: undefined;
                            input_type: string;
                            label: string;
                            name: string;
                            options: string[];
                            showIf?: undefined;
                            sublabel: string;
                            type?: undefined;
                        }
                        | {
                            attributes?: undefined;
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            showIf: { table: any }
                            | { table?: undefined };
                            sublabel?: undefined;
                            type: string;
                        }
                        | {
                            attributes: {
                                expression_type: string;
                                mode: string;
                                singleline: boolean;
                            };
                            input_type: string;
                            label: string;
                            name: string;
                            options?: undefined;
                            showIf?: undefined;
                            sublabel: string;
                            type?: undefined;
                        }
                    )[],
                >;
                description: string;
                namespace: string;
                run: (
                    opts: {
                        configuration: {
                            only_triggering_row?: boolean;
                            table: string;
                            where?: string;
                        };
                        row?: Row;
                        table?: Table;
                        user?: User
                        | AbstractUser;
                    },
                ) => Promise<{ error: string } | undefined>;
            };
            refresh_user_session: {
                description: string;
                namespace: string;
                run: (__namedParameters: { req: Req; user?: User }) => Promise<void>;
            };
            reload_embedded_view: {
                configFields: () => Promise<
                    (
                        | {
                            attributes: { options: any[] };
                            class: string;
                            label: string;
                            name: string;
                            required: boolean;
                            sublabel?: undefined;
                            type: string;
                        }
                        | {
                            attributes?: undefined;
                            class: string;
                            label: string;
                            name: string;
                            required?: undefined;
                            sublabel?: undefined;
                            type: string;
                        }
                        | {
                            attributes?: undefined;
                            class?: undefined;
                            label: string;
                            name: string;
                            required?: undefined;
                            sublabel: string;
                            type: string;
                        }
                    )[],
                >;
                description: string;
                namespace: string;
                run: (
                    __namedParameters: {
                        configuration: {
                            interval?: number;
                            new_state_fml?: string;
                            view: string;
                        };
                        row?: Row;
                        user?: User
                        | AbstractUser;
                    },
                ) => Promise<{ eval_js: string }>;
            };
            run_js_code: {
                configFields: (
                    __namedParameters: any,
                ) => Promise<
                    (
                        | {
                            attributes: {
                                mode: string;
                                secondColHoriz?: undefined;
                                table: any;
                                user: string
                                | undefined;
                                workflow: boolean;
                            };
                            class: string;
                            help?: undefined;
                            input_type: string;
                            label: string;
                            name: string;
                            options?: undefined;
                            showIf?: undefined;
                            sublabel?: undefined;
                            validator(s: any): any;
                        }
                        | {
                            attributes: {
                                mode?: undefined;
                                secondColHoriz: boolean;
                                table?: undefined;
                                user?: undefined;
                                workflow?: undefined;
                            };
                            class?: undefined;
                            help: { topic: string };
                            input_type: string;
                            label: string;
                            name?: undefined;
                            options?: undefined;
                            showIf: { run_where: string };
                            sublabel: any;
                            validator?: undefined;
                        }
                        | {
                            attributes?: undefined;
                            class?: undefined;
                            help?: undefined;
                            input_type: string;
                            label: string;
                            name: string;
                            options: string[];
                            showIf?: undefined;
                            sublabel?: undefined;
                            validator?: undefined;
                        }
                    )[],
                >;
                configFormOptions: { formStyle: string };
                configuration_summary: (cfg?: GenObj) => string;
                description: string;
                namespace: string;
                run: (
                    opts: {
                        channel?: string;
                        configuration: { code: string; run_where: string };
                        row?: Row;
                        table?: Table;
                        user?: User | AbstractUser;
                        [key: string]: any;
                    },
                ) => Promise<any>;
            };
            run_js_code_in_field: {
                configFields: (
                    __namedParameters: { mode: string; table: Table },
                ) => Promise<
                    | (
                        | {
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            required: boolean;
                            sublabel: string;
                            type: string;
                        }
                        | {
                            input_type: string;
                            label: string;
                            name: string;
                            options: string[];
                            required?: undefined;
                            sublabel?: undefined;
                            type?: undefined;
                        }
                    )[]
                    | (
                        | {
                            attributes: { options: (...)[] };
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            required: boolean;
                            sublabel: string;
                            type: string;
                        }
                        | {
                            attributes?: undefined;
                            input_type: string;
                            label: string;
                            name: string;
                            options: string[];
                            required?: undefined;
                            sublabel?: undefined;
                            type?: undefined;
                        }
                    )[],
                >;
                configuration_summary: (cfg?: GenObj) => string;
                description: string;
                namespace: string;
                requireRow: boolean;
                run: (
                    __namedParameters: {
                        configuration: { code_field: string; run_where?: string };
                        mode?: string;
                        row: Row;
                        table: Table;
                        [key: string]: any;
                    },
                ) => Promise<any>;
            };
            send_email: {
                configFields: (
                    __namedParameters: { mode?: string; table?: Table },
                ) => Promise<
                    | (
                        | {
                            fieldview?: undefined;
                            label: string;
                            name: string;
                            required?: undefined;
                            sublabel: string;
                            type: string;
                        }
                        | {
                            fieldview?: undefined;
                            label: string;
                            name: string;
                            required: boolean;
                            sublabel: string;
                            type: string;
                        }
                        | {
                            fieldview: string;
                            label: string;
                            name: string;
                            required: boolean;
                            sublabel?: undefined;
                            type: string;
                        }
                    )[]
                    | (
                        | {
                            attributes: { options: (...)[] };
                            class?: undefined;
                            default?: undefined;
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            required: boolean;
                            showIf?: undefined;
                            sublabel?: undefined;
                            type: string;
                        }
                        | {
                            attributes: { options: (...)[] };
                            class?: undefined;
                            default?: undefined;
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            required: boolean;
                            showIf: { body_type: (...)[]; to_email?: undefined };
                            sublabel?: undefined;
                            type: string;
                        }
                        | {
                            attributes?: undefined;
                            class?: undefined;
                            default?: undefined;
                            input_type: string;
                            label: string;
                            name: string;
                            options: string[];
                            required?: undefined;
                            showIf: { body_type: string; to_email?: undefined };
                            sublabel: string;
                            type?: undefined;
                        }
                        | {
                            attributes?: undefined;
                            class?: undefined;
                            default?: undefined;
                            input_type: string;
                            label: string;
                            name: string;
                            options: string[];
                            required: boolean;
                            showIf?: undefined;
                            sublabel: string;
                            type?: undefined;
                        }
                        | {
                            attributes?: undefined;
                            class?: undefined;
                            default?: undefined;
                            input_type: string;
                            label: string;
                            name: string;
                            options: string[];
                            required?: undefined;
                            showIf: { body_type?: undefined; to_email: string };
                            sublabel: string;
                            type?: undefined;
                        }
                        | {
                            attributes?: undefined;
                            class?: undefined;
                            default?: undefined;
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            required?: undefined;
                            showIf: { body_type?: undefined; to_email: string };
                            sublabel: string;
                            type: string;
                        }
                        | {
                            attributes?: undefined;
                            class?: undefined;
                            default?: undefined;
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            required?: undefined;
                            showIf?: undefined;
                            sublabel: string;
                            type: string;
                        }
                        | {
                            attributes?: undefined;
                            class: string;
                            default?: undefined;
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            required: boolean;
                            showIf?: undefined;
                            sublabel: string;
                            type: string;
                        }
                        | {
                            attributes?: undefined;
                            class?: undefined;
                            default?: undefined;
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            required: boolean;
                            showIf?: undefined;
                            sublabel?: undefined;
                            type: string;
                        }
                        | {
                            attributes?: undefined;
                            class?: undefined;
                            default: string;
                            input_type: string;
                            label: string;
                            name: string;
                            options: string[];
                            required?: undefined;
                            showIf?: undefined;
                            sublabel: string;
                            type: string;
                        }
                        | {
                            attributes?: undefined;
                            class?: undefined;
                            default?: undefined;
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            required?: undefined;
                            showIf?: undefined;
                            sublabel?: undefined;
                            type: string;
                        }
                        | {
                            attributes: { options: (...)[] };
                            class?: undefined;
                            default?: undefined;
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            required?: undefined;
                            showIf?: undefined;
                            sublabel: string;
                            type: string;
                        }
                    )[],
                >;
                description: string;
                namespace: string;
                requireRow: boolean;
                run: (
                    opts: {
                        configuration: {
                            attachment_path?: string;
                            bcc_email?: string;
                            body?: string;
                            body_field?: string;
                            body_type?: string;
                            cc_email?: string;
                            confirm_field?: string;
                            disable_notify?: boolean;
                            locale?: string;
                            only_if?: string;
                            subject?: string;
                            subject_formula?: string;
                            to_email: string;
                            to_email_field?: string;
                            to_email_fixed?: string;
                            viewname?: string;
                        };
                        mode: string;
                        row: Row;
                        table: Table;
                        user: User;
                    },
                ) => Promise<
                    | { notify?: undefined; [key: string]: boolean }
                    | { notify: string }
                    | undefined,
                >;
            };
            set_user_language: {
                configFields: (
                    __namedParameters: any,
                ) => Promise<
                    {
                        attributes: { options: { label: unknown; name: string }[] };
                        name: string;
                        required: boolean;
                        type: string;
                    }[],
                >;
                description: string;
                namespace: string;
                run: (
                    __namedParameters: {
                        configuration: { language: string };
                        req: Req;
                        res?: Res;
                        user?: User | AbstractUser;
                    },
                ) => Promise<{ reload_page: boolean }>;
            };
            sleep: {
                configFields: (
                    | {
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        required: boolean;
                        type: string;
                    }
                    | {
                        input_type: string;
                        label: string;
                        name: string;
                        options: string[];
                        required?: undefined;
                        type?: undefined;
                    }
                )[];
                description: string;
                namespace: string;
                run: (
                    __namedParameters: {
                        configuration: { seconds?: number; sleep_where?: string };
                    },
                ) => Promise<{ eval_js: string } | undefined>;
            };
            step_control_flow: {
                configFields: (
                    | {
                        attributes: { options: string[] };
                        label: string;
                        name: string;
                        required: boolean;
                        showIf?: undefined;
                        type: string;
                    }
                    | {
                        attributes?: undefined;
                        label: string;
                        name: string;
                        required: boolean;
                        showIf: { control_action: string[] };
                        type: string;
                    }
                )[];
                description: string;
                disableInWorkflow: boolean;
                namespace: string;
                run: (
                    __namedParameters: {
                        configuration: { control_action: string; step?: string };
                        row?: Row;
                        user?: User | AbstractUser;
                    },
                ) => Promise<
                    | {
                        clear_return_values?: undefined;
                        goto_step?: undefined;
                        halt_steps: boolean;
                    }
                    | {
                        clear_return_values?: undefined;
                        goto_step: string
                        | undefined;
                        halt_steps?: undefined;
                    }
                    | {
                        clear_return_values: boolean;
                        goto_step?: undefined;
                        halt_steps?: undefined;
                    }
                    | undefined,
                >;
            };
            sync_table_from_external: {
                configFields: (
                    __namedParameters: any,
                ) => Promise<
                    (
                        | {
                            attributes?: undefined;
                            default?: undefined;
                            fieldview?: undefined;
                            input_type: string;
                            label: string;
                            name: string;
                            options: string[];
                            required?: undefined;
                            showIf?: undefined;
                            sublabel: string;
                            type?: undefined;
                        }
                        | {
                            attributes: {
                                calcOptions?: undefined;
                                expression_type: string;
                                mode: string;
                                singleline: boolean;
                            };
                            default?: undefined;
                            fieldview?: undefined;
                            input_type: string;
                            label: string;
                            name: string;
                            options?: undefined;
                            required?: undefined;
                            showIf?: undefined;
                            sublabel: string;
                            type?: undefined;
                        }
                        | {
                            attributes: {
                                calcOptions: ((...) | (...))[];
                                expression_type?: undefined;
                                mode?: undefined;
                                singleline?: undefined;
                            };
                            default?: undefined;
                            fieldview?: undefined;
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            required: boolean;
                            showIf?: undefined;
                            sublabel: string;
                            type: string;
                        }
                        | {
                            attributes?: undefined;
                            default: boolean;
                            fieldview?: undefined;
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            required?: undefined;
                            showIf?: undefined;
                            sublabel: string;
                            type: string;
                        }
                        | {
                            attributes?: undefined;
                            default?: undefined;
                            fieldview: string;
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            required?: undefined;
                            showIf: { match_field_names: boolean };
                            sublabel: string;
                            type: string;
                        }
                    )[],
                >;
                description: string;
                namespace: string;
                run: (
                    opts: {
                        configuration: {
                            delete_rows?: boolean;
                            match_field_names?: boolean;
                            pk_field?: string;
                            row_expr?: string;
                            table_dest: string;
                            table_src: string;
                            where?: string;
                        };
                        user?: User
                        | AbstractUser;
                        [key: string]: any;
                    },
                ) => Promise<{ error: string } | undefined>;
            };
            toast: {
                configFields: (
                    | {
                        attributes: { options: string[] };
                        label: string;
                        name: string;
                        required: boolean;
                        sublabel?: undefined;
                        type: string;
                    }
                    | {
                        attributes?: undefined;
                        label: string;
                        name: string;
                        required: boolean;
                        sublabel?: undefined;
                        type: string;
                    }
                    | {
                        attributes?: undefined;
                        label: string;
                        name: string;
                        required?: undefined;
                        sublabel: string;
                        type: string;
                    }
                    | {
                        attributes?: undefined;
                        label: string;
                        name: string;
                        required?: undefined;
                        sublabel?: undefined;
                        type: string;
                    }
                )[];
                description: string;
                namespace: string;
                run: (
                    __namedParameters: {
                        configuration: {
                            notify_type?: string;
                            remove_delay?: number;
                            text: string;
                            title?: string;
                            type?: string;
                        };
                        row?: Row;
                        user?: User
                        | AbstractUser;
                    },
                ) => Promise<
                    | { error: any }
                    | { notify_success: any }
                    | { notify: any; notify_type: string }
                    | { notify: any },
                >;
            };
            train_model_instance: {
                configFields: () => Promise<
                    (
                        | {
                            attributes: {
                                explainers: Record<string, string>;
                                expression_type?: undefined;
                                mode?: undefined;
                                singleline?: undefined;
                            };
                            class?: undefined;
                            fieldview?: undefined;
                            input_type: string;
                            label: string;
                            name: string;
                            options: { label: string; value: (...)
                            | (...) }[];
                            required: boolean;
                            sublabel?: undefined;
                            type?: undefined;
                        }
                        | {
                            attributes?: undefined;
                            class?: undefined;
                            fieldview?: undefined;
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            required: boolean;
                            sublabel: string;
                            type: string;
                        }
                        | {
                            attributes: {
                                explainers?: undefined;
                                expression_type: string;
                                mode: string;
                                singleline: boolean;
                            };
                            class?: undefined;
                            fieldview: string;
                            input_type: string;
                            label: string;
                            name: string;
                            options?: undefined;
                            required?: undefined;
                            sublabel: string;
                            type?: undefined;
                        }
                        | {
                            attributes?: undefined;
                            class: string;
                            fieldview: string;
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            required?: undefined;
                            sublabel: string;
                            type: string;
                        }
                    )[],
                >;
                description: string;
                disableIf: () => boolean;
                namespace: string;
                run: (
                    __namedParameters: {
                        configuration: {
                            hyperparameters?: string;
                            instance_name: string;
                            model_id: number;
                            where?: string;
                        };
                        row?: Row;
                        user?: User
                        | AbstractUser;
                    },
                ) => Promise<void>;
            };
            webhook: {
                configFields: (
                    __namedParameters: { mode: string; table: Table },
                ) => Promise<
                    (
                        | {
                            attributes?: undefined;
                            fieldview?: undefined;
                            label: string;
                            name: string;
                            required?: undefined;
                            showIf?: undefined;
                            sublabel: string;
                            type: string;
                        }
                        | {
                            attributes: { options: string[] };
                            fieldview?: undefined;
                            label: string;
                            name: string;
                            required: boolean;
                            showIf?: undefined;
                            sublabel?: undefined;
                            type: string;
                        }
                        | {
                            attributes?: undefined;
                            fieldview: string;
                            label: string;
                            name: string;
                            required?: undefined;
                            showIf: { method: string[] };
                            sublabel: string;
                            type: string;
                        }
                        | {
                            attributes: { options: string[] };
                            fieldview?: undefined;
                            label: string;
                            name: string;
                            required?: undefined;
                            showIf?: undefined;
                            sublabel?: undefined;
                            type: string;
                        }
                    )[],
                >;
                description: string;
                run: (
                    opts: {
                        configuration: {
                            authorization?: string;
                            body?: string;
                            method?: string;
                            response_field?: string;
                            response_var?: string;
                            url: string;
                        };
                        row?: Row;
                        table?: Table;
                        user?: User
                        | AbstractUser;
                    },
                ) => Promise<{ [key: string]: any } | undefined>;
            };
        };
        fieldviews: {
            radio_select: {
                description: string;
                isEdit: boolean;
                run: (
                    nm: string,
                    v: any,
                    attrs: GenObj,
                    cls: string,
                    reqd: boolean,
                    field: GenObj,
                ) => any;
                type: string;
            };
            search_join_field: {
                blockDisplay: boolean;
                configFields: (
                    field: GenObj,
                ) => Promise<
                    {
                        attributes: { options: { label: string; value: string }[] };
                        label: string;
                        name: string;
                        required: boolean;
                        type: string;
                    }[],
                >;
                isEdit: boolean;
                isFilter: boolean;
                run: (
                    nm: string,
                    v: any,
                    attrs?: GenObj,
                    cls: string,
                    required: boolean,
                    field: GenObj,
                    state?: GenObj,
                ) => any;
                type: string;
            };
            search_or_create: {
                blockDisplay: boolean;
                configFields: (
                    field: GenObj,
                ) => Promise<
                    (
                        | {
                            class?: undefined;
                            form_name: any;
                            input_type: string;
                            label: string;
                            name: string;
                            options: string[];
                            sublabel?: undefined;
                            type?: undefined;
                        }
                        | {
                            class: string;
                            form_name?: undefined;
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            sublabel: string;
                            type: string;
                        }
                        | {
                            class?: undefined;
                            form_name?: undefined;
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            sublabel?: undefined;
                            type: string;
                        }
                    )[],
                >;
                description: string;
                isEdit: boolean;
                run: (
                    nm: string,
                    v: any,
                    attrs: GenObj,
                    cls: string,
                    reqd: boolean,
                    field: GenObj,
                    row?: GenObj,
                ) => any;
                type: string;
            };
            select: {
                blockDisplay: boolean;
                configFields: () => (
                    | {
                        attributes?: undefined;
                        class?: undefined;
                        help?: undefined;
                        label: string;
                        name: string;
                        sublabel: string;
                        type: string;
                    }
                    | {
                        attributes: { placeholder: string };
                        class?: undefined;
                        help: { topic: string };
                        label: string;
                        name: string;
                        sublabel: string;
                        type: string;
                    }
                    | {
                        attributes?: undefined;
                        class: string;
                        help?: undefined;
                        label: string;
                        name: string;
                        sublabel: string;
                        type: string;
                    }
                    | {
                        attributes?: undefined;
                        class?: undefined;
                        help?: undefined;
                        label: string;
                        name: string;
                        sublabel?: undefined;
                        type: string;
                    }
                )[];
                description: string;
                isEdit: boolean;
                run: (
                    nm: string,
                    v: any,
                    attrs: GenObj,
                    cls: string,
                    reqd: boolean,
                    field: GenObj,
                ) => any;
                type: string;
            };
            select_by_code: {
                blockDisplay: boolean;
                configFields: (
                    field: GenObj,
                ) => {
                    attributes: { mode: string };
                    class: string;
                    input_type: string;
                    label: string;
                    name: string;
                    sublabel: string;
                    validator(s: string): any;
                }[];
                description: string;
                isEdit: boolean;
                run: (
                    nm: string,
                    v: any,
                    attrs: GenObj,
                    cls: string,
                    reqd: boolean,
                    field: GenObj,
                ) => any;
                type: string;
                fill_options(
                    field: GenObj,
                    force_allow_none: boolean,
                    where0: GenObj,
                    extraCtx: GenObj,
                    optionsQuery: any,
                    formFieldNames: string[],
                    user: any,
                ): Promise<void>;
            };
            select_by_view: {
                blockDisplay: boolean;
                configFields: (
                    field: GenObj,
                    modeetc?: GenObj,
                ) => Promise<
                    (
                        | {
                            attributes: { options: string[] };
                            help?: undefined;
                            label: string;
                            name: string;
                            required: boolean;
                            sublabel?: undefined;
                            type: string;
                        }
                        | {
                            attributes?: undefined;
                            help: { topic: string };
                            label: string;
                            name: string;
                            required?: undefined;
                            sublabel: string;
                            type: string;
                        }
                        | {
                            attributes: { options: string[] };
                            help?: undefined;
                            label: string;
                            name: string;
                            required: boolean;
                            sublabel: string;
                            type: string;
                        }
                        | {
                            attributes?: undefined;
                            help?: undefined;
                            label: string;
                            name: string;
                            required?: undefined;
                            sublabel?: undefined;
                            type: string;
                        }
                    )[],
                >;
                description: string;
                isEdit: boolean;
                run: (
                    nm: string,
                    v: any,
                    attrs: GenObj,
                    cls: string,
                    reqd: boolean,
                    field: GenObj,
                ) => any;
                type: string;
                fill_options(
                    field: GenObj,
                    force_allow_none: boolean,
                    where0: GenObj,
                    extraCtx: GenObj,
                    optionsQuery: any,
                    formFieldNames: string[],
                    user: any,
                ): Promise<void>;
            };
            select_from_table: {
                blockDisplay: boolean;
                configFields: (
                    fld: GenObj,
                ) => Promise<
                    (
                        | {
                            attributes: { options: string[] };
                            class?: undefined;
                            label: string;
                            name: string;
                            required: boolean;
                            sublabel?: undefined;
                            type: string;
                        }
                        | {
                            attributes?: undefined;
                            class?: undefined;
                            label: string;
                            name: string;
                            required?: undefined;
                            sublabel?: undefined;
                            type: string;
                        }
                        | {
                            attributes?: undefined;
                            class: string;
                            label: string;
                            name: string;
                            required?: undefined;
                            sublabel: string;
                            type: string;
                        }
                        | {
                            attributes?: undefined;
                            class?: undefined;
                            label: string;
                            name: string;
                            required?: undefined;
                            sublabel: string;
                            type: string;
                        }
                    )[],
                >;
                description: string;
                isEdit: boolean;
                run: (
                    nm: string,
                    v: any,
                    attrs: GenObj,
                    cls: string,
                    reqd: boolean,
                    field: GenObj,
                ) => any;
                type: string;
                fill_options(
                    field: GenObj,
                    force_allow_none: boolean,
                    where0: GenObj,
                    extraCtx: GenObj,
                    optionsQuery: any,
                    formFieldNames: string[],
                ): Promise<void>;
            };
            two_level_select: {
                blockDisplay: boolean;
                configFields: (
                    __namedParameters: { name: string; table: any },
                ) => Promise<
                    (
                        | {
                            input_type: string;
                            label: string;
                            name: string;
                            options: string[];
                            sublabel?: undefined;
                            type?: undefined;
                        }
                        | {
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            sublabel?: undefined;
                            type: string;
                        }
                        | {
                            input_type?: undefined;
                            label: string;
                            name: string;
                            options?: undefined;
                            sublabel: string;
                            type: string;
                        }
                    )[],
                >;
                description: string;
                isEdit: boolean;
                run: (
                    nm: string,
                    v: any,
                    attrs: GenObj,
                    cls: string,
                    reqd: boolean,
                    field: GenObj,
                ) => any;
                type: string;
            };
        };
        fileviews: {
            Audio: {
                description: string;
                run: (filePath: string, file_name: string, cfg?: GenObj) => any;
            };
            Capture: {
                configFields: () => Promise<
                    (
                        | {
                            attributes: { options: string[] };
                            default?: undefined;
                            label: string;
                            name: string;
                            required?: undefined;
                            showIf?: undefined;
                            type: string;
                        }
                        | {
                            attributes: { options: string[] };
                            default?: undefined;
                            label: string;
                            name: string;
                            required: boolean;
                            showIf?: undefined;
                            type: string;
                        }
                        | {
                            attributes: { options: { label: ...; name: ... }[] };
                            default: string;
                            label: string;
                            name: string;
                            required?: undefined;
                            showIf?: undefined;
                            type: string;
                        }
                        | {
                            attributes?: undefined;
                            default?: undefined;
                            label: string;
                            name: string;
                            required?: undefined;
                            showIf: { button_style: string[] };
                            type: string;
                        }
                    )[],
                >;
                description: string;
                isEdit: boolean;
                multipartFormData: boolean;
                run: (
                    nm: string,
                    file_name: string,
                    attrs: GenObj,
                    cls: string,
                    reqd: boolean,
                    field: GenObj,
                ) => any;
                valueIsFilename: boolean;
            };
            "Download link": {
                configFields: {
                    attributes: { options: { label: string; name: string }[] };
                    label: string;
                    name: string;
                    required: boolean;
                    type: string;
                }[];
                description: string;
                run: (filePath: string, file_name: string, cfg?: GenObj) => any;
            };
            Link: {
                configFields: {
                    attributes: { options: { label: string; name: string }[] };
                    label: string;
                    name: string;
                    required: boolean;
                    type: string;
                }[];
                description: string;
                run: (filePath: string, file_name: string, cfg?: GenObj) => any;
            };
            "Link (new tab)": {
                configFields: {
                    attributes: { options: { label: string; name: string }[] };
                    label: string;
                    name: string;
                    required: boolean;
                    type: string;
                }[];
                description: string;
                run: (filePath: string, file_name: string, cfg?: GenObj) => any;
            };
            select: {
                configFields: () => Promise<
                    (
                        | {
                            attributes: { options: string[] };
                            default?: undefined;
                            label: string;
                            name: string;
                            showIf?: undefined;
                            subfolder?: undefined;
                            sublabel?: undefined;
                            type: string;
                        }
                        | {
                            attributes?: undefined;
                            default: boolean;
                            label: string;
                            name: string;
                            showIf?: undefined;
                            subfolder?: undefined;
                            sublabel: string;
                            type: string;
                        }
                        | {
                            attributes?: undefined;
                            default: boolean;
                            label: string;
                            name: string;
                            showIf: { use_picker: boolean };
                            subfolder?: undefined;
                            sublabel: string;
                            type: string;
                        }
                        | {
                            attributes?: undefined;
                            default?: undefined;
                            label: string;
                            name: string;
                            showIf?: undefined;
                            subfolder: string;
                            sublabel?: undefined;
                            type: string;
                        }
                    )[],
                >;
                description: string;
                fill_options: (field: GenObj) => Promise<void>;
                isEdit: boolean;
                run: (
                    nm: string,
                    file_id: string,
                    attrs: GenObj,
                    cls: string,
                    reqd: boolean,
                    field: GenObj,
                ) => any;
                setsFileId: boolean;
            };
            "Show Image": {
                description: string;
                run: (filePath: string, file_name: string, cfg?: GenObj) => any;
            };
            TextEditor: {
                configFields: () => Promise<
                    {
                        attributes: { options: string[] };
                        label: string;
                        name: string;
                        required: boolean;
                        type: string;
                    }[],
                >;
                description: string;
                editContent: boolean;
                isEdit: boolean;
                multipartFormData: boolean;
                run: (
                    nm: string,
                    file_name: string,
                    attrs: GenObj,
                    cls: string,
                    reqd: boolean,
                    field: GenObj,
                    row?: GenObj,
                ) => any;
            };
            Thumbnail: {
                configFields: () => (
                    | { label: string; name: string; required: boolean; type: string }
                    | { label: string; name: string; required?: undefined; type: string }
                )[];
                description: string;
                run: (filePath: string, file_name: string, cfg?: GenObj) => any;
            };
            upload: {
                configFields: () => Promise<
                    (
                        | {
                            attributes: { options: string[] };
                            default?: undefined;
                            label: string;
                            name: string;
                            required?: undefined;
                            showIf?: undefined;
                            type: string;
                        }
                        | {
                            attributes: { options: { label: ...; name: ... }[] };
                            default: string;
                            label: string;
                            name: string;
                            required: boolean;
                            showIf?: undefined;
                            type: string;
                        }
                        | {
                            attributes?: undefined;
                            default?: undefined;
                            label: string;
                            name: string;
                            required?: undefined;
                            showIf: { button_style: string[] };
                            type: string;
                        }
                    )[],
                >;
                description: string;
                isEdit: boolean;
                multipartFormData: boolean;
                run: (
                    nm: string,
                    file_name: string,
                    attrs: GenObj,
                    cls: string,
                    reqd: boolean,
                    field: GenObj,
                ) => string;
                valueIsFilename: boolean;
            };
            Video: {
                configFields: { label: string; name: string; type: string }[];
                description: string;
                run: (filePath: string, file_name: string, cfg?: GenObj) => any;
            };
        };
        sc_plugin_api_version: number;
        types: (
            | {
                attributes: (
                    param: any,
                ) => (
                    | {
                        attributes: {
                            asideNext?: undefined;
                            autofocus: boolean;
                            options?: undefined;
                        };
                        copilot_description: string;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        required: boolean;
                        showIf?: undefined;
                        sublabel: string;
                        type: string;
                        validator?: undefined;
                    }
                    | {
                        attributes: {
                            asideNext: boolean;
                            autofocus?: undefined;
                            options?: undefined;
                        };
                        copilot_description?: undefined;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        required: boolean;
                        showIf?: undefined;
                        sublabel: string;
                        type: string;
                        validator?: undefined;
                    }
                    | {
                        attributes?: undefined;
                        copilot_description?: undefined;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        required: boolean;
                        showIf?: undefined;
                        sublabel: string;
                        type: string;
                        validator?: undefined;
                    }
                    | {
                        attributes: {
                            asideNext: boolean;
                            autofocus?: undefined;
                            options?: undefined;
                        };
                        copilot_description?: undefined;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        required: boolean;
                        showIf?: undefined;
                        sublabel: string;
                        type: string;
                        validator(s: any): "Not a valid Regular Expression" | undefined;
                    }
                    | {
                        attributes?: undefined;
                        copilot_description?: undefined;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        required?: undefined;
                        showIf?: undefined;
                        sublabel: string;
                        type: string;
                        validator?: undefined;
                    }
                    | {
                        attributes: {
                            asideNext?: undefined;
                            autofocus?: undefined;
                            options: any;
                        };
                        copilot_description?: undefined;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        required?: undefined;
                        showIf?: undefined;
                        sublabel: string;
                        type: string;
                        validator?: undefined;
                    }
                    | {
                        attributes?: undefined;
                        copilot_description?: undefined;
                        input_type: string;
                        label: string;
                        name: string;
                        options: string[];
                        required?: undefined;
                        showIf: { localizes_field: any };
                        sublabel: string;
                        type?: undefined;
                        validator?: undefined;
                    }
                )[];
                contract: (opts: any) => any;
                description: string;
                fieldviews: {
                    as_header: {
                        description: string;
                        isEdit: boolean;
                        run: (s: any) => any;
                    };
                    as_link: {
                        configFields: (
                            | { label: string; name: string; sublabel: string; type: string }
                            | { label: string; name: string; sublabel?: undefined; type: string }
                        )[];
                        description: string;
                        isEdit: boolean;
                        run: (s: any, req: any, attrs?: any) => any;
                    };
                    as_text: { description: string; isEdit: boolean; run: (s: any) => any };
                    checkbox_group: {
                        configFields: { label: string; name: string; type: string }[];
                        description: string;
                        isEdit: boolean;
                        isFilter: boolean;
                        run: (
                            nm: any,
                            v: any,
                            attrs: any,
                            cls: any,
                            required: any,
                            field: any,
                        ) => any;
                    };
                    code: { description: string; isEdit: boolean; run: (s: any) => any };
                    code_editor: {
                        blockDisplay: boolean;
                        configFields: {
                            attributes: { options: string[] };
                            label: string;
                            name: string;
                            required: boolean;
                            type: string;
                        }[];
                        description: string;
                        isEdit: boolean;
                        run: (
                            nm: any,
                            v: any,
                            attrs: any,
                            cls: any,
                            required: any,
                            field: any,
                        ) => any;
                    };
                    edit: {
                        blockDisplay: boolean;
                        configFields: (
                            field: any,
                        ) => (
                            | {
                                input_type?: undefined;
                                label: string;
                                name: string;
                                options?: undefined;
                                sublabel?: undefined;
                                type: string;
                            }
                            | {
                                input_type?: undefined;
                                label: string;
                                name: string;
                                options?: undefined;
                                sublabel: string;
                                type: string;
                            }
                            | {
                                input_type: string;
                                label: string;
                                name: string;
                                options: (...)[];
                                sublabel?: undefined;
                                type?: undefined;
                            }
                        )[];
                        description: string;
                        isEdit: boolean;
                        run: (
                            nm: any,
                            v: any,
                            attrs: any,
                            cls: any,
                            required: any,
                            field: any,
                        ) => any;
                    };
                    ellipsize: {
                        configFields: {
                            default: number;
                            label: string;
                            name: string;
                            type: string;
                        }[];
                        description: string;
                        isEdit: boolean;
                        run: (s: any, req: any, attrs?: any) => any;
                    };
                    fill_formula_btn: {
                        blockDisplay: boolean;
                        configFields: (
                            | {
                                default?: undefined;
                                input_type?: undefined;
                                label: string;
                                name: string;
                                options?: undefined;
                                showIf?: undefined;
                                type: string;
                            }
                            | {
                                default?: undefined;
                                input_type?: undefined;
                                label: string;
                                name: string;
                                options?: undefined;
                                showIf: { make_unique: boolean };
                                type: string;
                            }
                            | {
                                default: number;
                                input_type?: undefined;
                                label: string;
                                name: string;
                                options?: undefined;
                                showIf: { make_unique: boolean };
                                type: string;
                            }
                            | {
                                default?: undefined;
                                input_type: string;
                                label: string;
                                name: string;
                                options: string[];
                                showIf: { make_unique: boolean };
                                type?: undefined;
                            }
                        )[];
                        description: string;
                        isEdit: boolean;
                        run: (
                            nm: any,
                            v: any,
                            attrs: any,
                            cls: any,
                            required: any,
                            field: any,
                        ) => any;
                    };
                    img_from_url: {
                        description: string;
                        isEdit: boolean;
                        run: (s: any, req: any, attrs: any) => any;
                    };
                    make_unique: {
                        blockDisplay: boolean;
                        configFields: (
                            | {
                                default?: undefined;
                                input_type?: undefined;
                                label: string;
                                name: string;
                                options?: undefined;
                                type: string;
                            }
                            | {
                                default?: undefined;
                                input_type: string;
                                label: string;
                                name: string;
                                options: string[];
                                type?: undefined;
                            }
                            | {
                                default: number;
                                input_type?: undefined;
                                label: string;
                                name: string;
                                options?: undefined;
                                type: string;
                            }
                        )[];
                        description: string;
                        isEdit: boolean;
                        run: (
                            nm: any,
                            v: any,
                            attrs: any,
                            cls: any,
                            required: any,
                            field: any,
                        ) => any;
                    };
                    monospace_block: {
                        configFields: (
                            | { label: string; name: string; sublabel: string; type: string }
                            | { label: string; name: string; sublabel?: undefined; type: string }
                        )[];
                        description: string;
                        isEdit: boolean;
                        run: (s: any, req: any, attrs?: any) => any;
                    };
                    password: {
                        blockDisplay: boolean;
                        configFields: { label: string; name: string; type: string }[];
                        description: string;
                        isEdit: boolean;
                        run: (
                            nm: any,
                            v: any,
                            attrs: any,
                            cls: any,
                            required: any,
                            field: any,
                        ) => any;
                    };
                    preFormatted: {
                        description: string;
                        isEdit: boolean;
                        run: (s: any) => any;
                    };
                    radio_group: {
                        configFields: { label: string; name: string; type: string }[];
                        description: string;
                        isEdit: boolean;
                        run: (
                            nm: any,
                            v: any,
                            attrs: any,
                            cls: any,
                            required: any,
                            field: any,
                        ) => any;
                    };
                    select_by_code: any;
                    show_with_html: {
                        configFields: {
                            attributes: { mode: string };
                            default: string;
                            input_type: string;
                            label: string;
                            name: string;
                            sublabel: string;
                        }[];
                        description: string;
                        isEdit: boolean;
                        run: (v: any, req: any, attrs?: any) => any;
                    };
                    textarea: {
                        blockDisplay: boolean;
                        configFields: (
                            | {
                                label: string;
                                name: string;
                                sublabel?: undefined;
                                type: string;
                            }
                            | { label: string; name: string; sublabel: string; type: string }
                        )[];
                        description: string;
                        isEdit: boolean;
                        run: (
                            nm: any,
                            v: any,
                            attrs: any,
                            cls: any,
                            required: any,
                            field: any,
                        ) => any;
                    };
                };
                js_type: string;
                name: string;
                presets: { IP: (opts: any) => any; SessionID: (opts: any) => any };
                read: (v: any) => string | undefined;
                sql_name: string;
                validate: (param: any) => (x: any) => true | { error: any };
                validate_attributes: (param: any) => boolean;
            }
            | {
                attributes: {
                    label: string;
                    name: string;
                    required: boolean;
                    type: string;
                }[];
                contract: (opts: any) => any;
                description: string;
                distance_operators: { near: any };
                fieldviews: {
                    above_input: {
                        blockDisplay: boolean;
                        configFields: { label: string; name: string; type: string }[];
                        isEdit: boolean;
                        isFilter: boolean;
                        run: (
                            nm: any,
                            v: any,
                            attrs?: any,
                            cls: any,
                            required: any,
                            field: any,
                            state?: any,
                        ) => any;
                    };
                    below_input: {
                        blockDisplay: boolean;
                        configFields: { label: string; name: string; type: string }[];
                        isEdit: boolean;
                        isFilter: boolean;
                        run: (
                            nm: any,
                            v: any,
                            attrs?: any,
                            cls: any,
                            required: any,
                            field: any,
                            state?: any,
                        ) => any;
                    };
                    edit: {
                        blockDisplay: boolean;
                        configFields: { label: string; name: string; type: string }[];
                        description: string;
                        isEdit: boolean;
                        run: (
                            nm: any,
                            v: any,
                            attrs: any,
                            cls: any,
                            required: any,
                            field: any,
                        ) => any;
                    };
                    edit_star_rating: {
                        blockDisplay: boolean;
                        configFields: (
                            field: any,
                        ) => (
                            | {
                                default: number;
                                label?: undefined;
                                name: string;
                                required: boolean;
                                sublabel?: undefined;
                                type: string;
                            }
                            | {
                                default?: undefined;
                                label: string;
                                name: string;
                                required?: undefined;
                                sublabel: string;
                                type: string;
                            }
                        )[];
                        description: string;
                        isEdit: boolean;
                        run: (
                            nm: any,
                            v: any,
                            attrs?: any,
                            cls: any,
                            required: any,
                            field: any,
                            state?: any,
                        ) => any;
                    };
                    heat_cell: {
                        configFields: (
                            field: any,
                        ) => (
                            | {
                                attributes?: undefined;
                                class?: undefined;
                                default?: undefined;
                                label: string;
                                name: string;
                                required?: undefined;
                                showIf?: undefined;
                                type: string;
                            }
                            | {
                                attributes?: undefined;
                                class?: undefined;
                                default?: undefined;
                                label: string;
                                name: string;
                                required: boolean;
                                showIf: { max_min_formula: ... };
                                type: any;
                            }
                            | {
                                attributes?: undefined;
                                class: string;
                                default?: undefined;
                                label: string;
                                name: string;
                                required?: undefined;
                                showIf: { max_min_formula: ... };
                                type: string;
                            }
                            | {
                                attributes: { options: ... };
                                class?: undefined;
                                default?: undefined;
                                label: string;
                                name: string;
                                required: boolean;
                                showIf?: undefined;
                                type: string;
                            }
                            | {
                                attributes?: undefined;
                                class?: undefined;
                                default: number;
                                label: string;
                                name: string;
                                required?: undefined;
                                showIf?: undefined;
                                type: string;
                            }
                        )[];
                        description: string;
                        isEdit: boolean;
                        run: (v: any, req: any, attrs?: any) => any;
                    };
                    number_slider: {
                        blockDisplay: boolean;
                        configFields: (
                            field: any,
                        ) => { name: string; required: boolean; type: any }[];
                        description: string;
                        isEdit: boolean;
                        run: (
                            nm: any,
                            v: any,
                            attrs?: any,
                            cls: any,
                            required: any,
                            field: any,
                        ) => any;
                    };
                    progress_bar: {
                        configFields: (
                            field: any,
                        ) => (
                            | {
                                class?: undefined;
                                label: string;
                                name: string;
                                required?: undefined;
                                showIf?: undefined;
                                type: string;
                            }
                            | {
                                class?: undefined;
                                label: string;
                                name: string;
                                required: boolean;
                                showIf: { max_min_formula: ...; radial?: ... };
                                type: any;
                            }
                            | {
                                class: string;
                                label: string;
                                name: string;
                                required?: undefined;
                                showIf: { max_min_formula: ...; radial?: ... };
                                type: string;
                            }
                            | {
                                class?: undefined;
                                label: string;
                                name: string;
                                required?: undefined;
                                showIf: { max_min_formula?: ...; radial: ... };
                                type: string;
                            }
                        )[];
                        description: string;
                        isEdit: boolean;
                        run: (v: any, req: any, attrs?: any) => any;
                    };
                    range_interval: {
                        blockDisplay: boolean;
                        configFields: (
                            field: any,
                        ) => { name: string; required: boolean; type: any }[];
                        description: string;
                        isEdit: boolean;
                        isFilter: boolean;
                        run: (
                            nm: any,
                            v: any,
                            attrs?: any,
                            cls: any,
                            required: any,
                            field: any,
                            state?: any,
                        ) => any;
                    };
                    role_select: {
                        blockDisplay: boolean;
                        description: string;
                        fill_options: (field: any) => Promise<void>;
                        isEdit: boolean;
                        run: (
                            nm: any,
                            v: any,
                            attrs: any,
                            cls: any,
                            required: any,
                            field: any,
                        ) => any;
                    };
                    select_by_code: any;
                    show: { description: string; isEdit: boolean; run: (s: any) => any };
                    show_star_rating: {
                        blockDisplay: boolean;
                        configFields: (
                            field: any,
                        ) => { default: number; name: string; required: boolean; type: string }[];
                        description: string;
                        isEdit: boolean;
                        run: (v: any, req: any, attrs?: any) => any;
                    };
                    show_with_html: {
                        configFields: {
                            attributes: { mode: string };
                            default: string;
                            input_type: string;
                            label: string;
                            name: string;
                            sublabel: string;
                        }[];
                        description: string;
                        isEdit: boolean;
                        run: (v: any, req: any, attrs?: any) => any;
                    };
                    to_locale_string: {
                        configFields: (
                            field: any,
                        ) => (
                            | {
                                attributes?: undefined;
                                label: string;
                                name: string;
                                required?: undefined;
                                showIf?: undefined;
                                sublabel: string;
                                type: string;
                            }
                            | {
                                attributes: { min?: ...; options: ... };
                                label: string;
                                name: string;
                                required: boolean;
                                showIf?: undefined;
                                sublabel?: undefined;
                                type: string;
                            }
                            | {
                                attributes: { min: ...; options?: ... };
                                label: string;
                                name: string;
                                required?: undefined;
                                showIf?: undefined;
                                sublabel?: undefined;
                                type: string;
                            }
                            | {
                                attributes?: undefined;
                                label: string;
                                name: string;
                                required: boolean;
                                showIf: { style: ... };
                                sublabel: string;
                                type: string;
                            }
                            | {
                                attributes: { min?: ...; options: ... };
                                label: string;
                                name: string;
                                required: boolean;
                                showIf: { style: ... };
                                sublabel?: undefined;
                                type: string;
                            }
                        )[];
                        description: string;
                        isEdit: boolean;
                        run: (v: any, req: any, attrs?: any) => string;
                    };
                };
                js_type: string;
                name: string;
                primaryKey: { sql_type: string };
                read: (v: any) => number | undefined;
                sql_name: string;
                validate: (param: any) => (x: any) => true | { error: string };
                validate_attributes: (param: any) => boolean;
            }
            | {
                attributes: never[];
                contract: () => any;
                description: string;
                fieldviews: {
                    edit: {
                        blockDisplay: boolean;
                        description: string;
                        isEdit: boolean;
                        run: (
                            nm: any,
                            v: any,
                            attrs: any,
                            cls: any,
                            required: any,
                            field: any,
                        ) => any;
                    };
                    show: { description: string; isEdit: boolean; run: (s: any) => any };
                    show_with_html: {
                        configFields: {
                            attributes: { mode: string };
                            default: string;
                            input_type: string;
                            label: string;
                            name: string;
                            sublabel: string;
                        }[];
                        description: string;
                        isEdit: boolean;
                        run: (v: any, req: any, attrs?: any) => any;
                    };
                };
                js_type: string;
                name: string;
                read: (v: any) => string | undefined;
                sql_name: string;
                validate: () => (x: any) => boolean;
            }
            | {
                attributes: {
                    label: string;
                    name: string;
                    required: boolean;
                    type: string;
                }[];
                contract: (opts: any) => any;
                description: string;
                distance_operators: { near: any };
                equals: (a: any, b: any, opts: any) => boolean;
                fieldviews: {
                    above_input: {
                        blockDisplay: boolean;
                        isEdit: boolean;
                        isFilter: boolean;
                        run: (
                            nm: any,
                            v: any,
                            attrs?: any,
                            cls: any,
                            required: any,
                            field: any,
                            state?: any,
                        ) => any;
                    };
                    below_input: {
                        blockDisplay: boolean;
                        isEdit: boolean;
                        isFilter: boolean;
                        run: (
                            nm: any,
                            v: any,
                            attrs?: any,
                            cls: any,
                            required: any,
                            field: any,
                            state?: any,
                        ) => any;
                    };
                    edit: {
                        blockDisplay: boolean;
                        configFields: { label: string; name: string; type: string }[];
                        description: string;
                        isEdit: boolean;
                        run: (
                            nm: any,
                            v: any,
                            attrs: any,
                            cls: any,
                            required: any,
                            field: any,
                        ) => any;
                    };
                    heat_cell: {
                        configFields: (
                            field: any,
                        ) => (
                            | {
                                attributes?: undefined;
                                class?: undefined;
                                default?: undefined;
                                label: string;
                                name: string;
                                required?: undefined;
                                showIf?: undefined;
                                type: string;
                            }
                            | {
                                attributes?: undefined;
                                class?: undefined;
                                default?: undefined;
                                label: string;
                                name: string;
                                required: boolean;
                                showIf: { max_min_formula: ... };
                                type: any;
                            }
                            | {
                                attributes?: undefined;
                                class: string;
                                default?: undefined;
                                label: string;
                                name: string;
                                required?: undefined;
                                showIf: { max_min_formula: ... };
                                type: string;
                            }
                            | {
                                attributes: { options: ... };
                                class?: undefined;
                                default?: undefined;
                                label: string;
                                name: string;
                                required: boolean;
                                showIf?: undefined;
                                type: string;
                            }
                            | {
                                attributes?: undefined;
                                class?: undefined;
                                default: number;
                                label: string;
                                name: string;
                                required?: undefined;
                                showIf?: undefined;
                                type: string;
                            }
                        )[];
                        description: string;
                        isEdit: boolean;
                        run: (v: any, req: any, attrs?: any) => any;
                    };
                    number_slider: {
                        blockDisplay: boolean;
                        configFields: (
                            field: any,
                        ) => { name: string; required: boolean; type: any }[];
                        description: string;
                        isEdit: boolean;
                        run: (
                            nm: any,
                            v: any,
                            attrs?: any,
                            cls: any,
                            required: any,
                            field: any,
                        ) => any;
                    };
                    progress_bar: {
                        configFields: (
                            field: any,
                        ) => (
                            | {
                                class?: undefined;
                                label: string;
                                name: string;
                                required?: undefined;
                                showIf?: undefined;
                                type: string;
                            }
                            | {
                                class?: undefined;
                                label: string;
                                name: string;
                                required: boolean;
                                showIf: { max_min_formula: ...; radial?: ... };
                                type: any;
                            }
                            | {
                                class: string;
                                label: string;
                                name: string;
                                required?: undefined;
                                showIf: { max_min_formula: ...; radial?: ... };
                                type: string;
                            }
                            | {
                                class?: undefined;
                                label: string;
                                name: string;
                                required?: undefined;
                                showIf: { max_min_formula?: ...; radial: ... };
                                type: string;
                            }
                        )[];
                        description: string;
                        isEdit: boolean;
                        run: (v: any, req: any, attrs?: any) => any;
                    };
                    range_interval: {
                        blockDisplay: boolean;
                        configFields: (
                            field: any,
                        ) => { name: string; required: boolean; type: any }[];
                        description: string;
                        isEdit: boolean;
                        isFilter: boolean;
                        run: (
                            nm: any,
                            v: any,
                            attrs?: any,
                            cls: any,
                            required: any,
                            field: any,
                            state?: any,
                        ) => any;
                    };
                    show: { description: string; isEdit: boolean; run: (s: any) => any };
                    show_with_html: {
                        configFields: {
                            attributes: { mode: string };
                            default: string;
                            input_type: string;
                            label: string;
                            name: string;
                            sublabel: string;
                        }[];
                        description: string;
                        isEdit: boolean;
                        run: (v: any, req: any, attrs?: any) => any;
                    };
                    to_locale_string: {
                        configFields: (
                            field: any,
                        ) => (
                            | {
                                attributes?: undefined;
                                label: string;
                                name: string;
                                required?: undefined;
                                showIf?: undefined;
                                sublabel: string;
                                type: string;
                            }
                            | {
                                attributes: { min?: ...; options: ... };
                                label: string;
                                name: string;
                                required: boolean;
                                showIf?: undefined;
                                sublabel?: undefined;
                                type: string;
                            }
                            | {
                                attributes: { min: ...; options?: ... };
                                label: string;
                                name: string;
                                required?: undefined;
                                showIf?: undefined;
                                sublabel?: undefined;
                                type: string;
                            }
                            | {
                                attributes?: undefined;
                                label: string;
                                name: string;
                                required: boolean;
                                showIf: { style: ... };
                                sublabel: string;
                                type: string;
                            }
                            | {
                                attributes: { min?: ...; options: ... };
                                label: string;
                                name: string;
                                required: boolean;
                                showIf: { style: ... };
                                sublabel?: undefined;
                                type: string;
                            }
                        )[];
                        description: string;
                        isEdit: boolean;
                        run: (v: any, req: any, attrs?: any) => string;
                    };
                };
                js_type: string;
                name: string;
                read: (v: any) => number | undefined;
                sql_name: string;
                validate: (param: any) => (x: any) => true | { error: string };
            }
            | {
                attributes: {
                    label: string;
                    name: string;
                    sublabel: string;
                    type: string;
                }[];
                contract: () => any;
                description: string;
                equals: (a: any, b: any) => boolean;
                fieldviews: {
                    edit: {
                        blockDisplay: boolean;
                        configFields: { label: string; name: string; type: string }[];
                        description: string;
                        isEdit: boolean;
                        run: (
                            nm: any,
                            v: any,
                            attrs: any,
                            cls: any,
                            required: any,
                            field: any,
                        ) => any;
                    };
                    editDay: {
                        blockDisplay: boolean;
                        configFields: { label: string; name: string; type: string }[];
                        description: string;
                        isEdit: boolean;
                        run: (
                            nm: any,
                            v: any,
                            attrs: any,
                            cls: any,
                            required: any,
                            field: any,
                        ) => any;
                    };
                    format: {
                        configFields: {
                            help: { topic: string };
                            label: string;
                            name: string;
                            type: string;
                        }[];
                        description: string;
                        isEdit: boolean;
                        run: (d: any, req: any, options: any) => any;
                    };
                    relative: {
                        description: string;
                        isEdit: boolean;
                        run: (d: any, req: any) => any;
                    };
                    show: {
                        description: string;
                        isEdit: boolean;
                        run: (d: any, req: any, attrs?: any) => any;
                    };
                    show_with_html: {
                        configFields: {
                            attributes: { mode: string };
                            default: string;
                            input_type: string;
                            label: string;
                            name: string;
                            sublabel: string;
                        }[];
                        description: string;
                        isEdit: boolean;
                        run: (v: any, req: any, attrs?: any) => any;
                    };
                    showDay: {
                        description: string;
                        isEdit: boolean;
                        run: (d: any, req: any) => any;
                    };
                    yearsAgo: {
                        description: string;
                        isEdit: boolean;
                        run: (d: any, req: any) => any;
                    };
                };
                js_type: string;
                name: string;
                presets: { Now: (__namedParameters: any) => any };
                read: (v0: any, attrs: any) => any;
                sql_name: (opts: any) => "date" | "timestamptz";
                validate: () => (v: any) => boolean;
            }
            | {
                attributes: never[];
                contract: () => any;
                description: string;
                fieldviews: {
                    checkboxes: {
                        description: string;
                        isEdit: boolean;
                        run: (v: any) => any;
                    };
                    edit: {
                        configFields: (
                            | {
                                attributes: { options: (...)[] };
                                label: string;
                                name: string;
                                type: string;
                            }
                            | {
                                attributes?: undefined;
                                label: string;
                                name: string;
                                type: string;
                            }
                        )[];
                        description: string;
                        isEdit: boolean;
                        run: (
                            nm: any,
                            v: any,
                            attrs: any,
                            cls: any,
                            required: any,
                            field: any,
                        ) => any;
                    };
                    show: {
                        description: string;
                        isEdit: boolean;
                        run: (v: any, req: any) => any;
                    };
                    show_with_html: {
                        configFields: {
                            attributes: { mode: string };
                            default: string;
                            input_type: string;
                            label: string;
                            name: string;
                            sublabel: string;
                        }[];
                        description: string;
                        isEdit: boolean;
                        run: (v: any, req: any, attrs?: any) => any;
                    };
                    switch: {
                        description: string;
                        isEdit: boolean;
                        run: (
                            nm: any,
                            v: any,
                            attrs: any,
                            cls: any,
                            required: any,
                            field: any,
                        ) => any;
                    };
                    thumbs_up_down: {
                        configFields: {
                            attributes: { options: string[] };
                            label: string;
                            name: string;
                            required: boolean;
                            type: string;
                        }[];
                        description: string;
                        isEdit: boolean;
                        run: (
                            nm: any,
                            v: any,
                            attrs: any,
                            cls: any,
                            required: any,
                            field: any,
                        ) => any;
                    };
                    tristate: {
                        configFields: { label: string; name: string; type: string }[];
                        description: string;
                        isEdit: boolean;
                        run: (
                            nm: any,
                            v: any,
                            attrs: any,
                            cls: any,
                            required: any,
                            field: any,
                        ) => any;
                    };
                    TrueFalse: {
                        description: string;
                        isEdit: boolean;
                        run: (v: any) => "" | "True" | "False";
                    };
                };
                js_type: string;
                listAs: (v: any) => string;
                name: string;
                read: (v: any) => boolean | null;
                readFromDB: (v: any) => boolean | null;
                readFromFormRecord: (rec: any, name: any) => boolean | null;
                sql_name: string;
                validate: () => (x: any) => boolean;
            }
        )[];
        viewtemplates: (
            | {
                configuration_workflow: (req: Req) => Workflow;
                connectedObjects: (
                    __namedParameters: GenObj,
                ) => Promise<{ embeddedViews: View[] }>;
                description: string;
                get_state_fields: (
                    table_id: number,
                    viewname: string,
                    __namedParameters: GenObj,
                ) => Promise<
                    (
                        | FieldLikeWithInputType
                        | FieldLikeWithType
                        | { name: string; required: boolean; type: string }
                    )[],
                >;
                name: string;
                queries: (
                    __namedParameters: GenObj,
                ) => { getRowQuery(uniques: Where): Promise<Row | null> };
                run: (
                    table_id: number,
                    viewname: string,
                    __namedParameters: GenObj,
                    state: GenObj,
                    extraArgs: GenObj,
                    __namedParameters: {
                        getRowQuery: (where: Where) => Promise<Row | null>;
                    },
                ) => Promise<any>;
            }
            | {
                configCheck: (view: GenObj) => Promise<any>;
                configuration_workflow: (req: Req) => Workflow;
                connectedObjects: (configuration: GenObj) => Promise<any>;
                createBasicView: (__namedParameters: GenObj) => Promise<any>;
                default_state_form: (__namedParameters: GenObj) => any;
                description: string;
                get_state_fields: (
                    table_id: string | number,
                    viewname: string,
                    __namedParameters: GenObj,
                ) => Promise<GenObj[]>;
                initial_config: (
                    __namedParameters: GenObj,
                ) => Promise<
                    {
                        columns: GenObj[];
                        layout: { besides: GenObj[]; list_columns: boolean };
                    },
                >;
                name: string;
                on_delete: (
                    table_id: string | number,
                    viewname: string,
                    __namedParameters: GenObj,
                ) => Promise<void>;
                queries: (
                    __namedParameters: GenObj,
                ) => {
                    getRowQuery(id: any): Promise<Row | null>;
                    listQuery(
                        state: GenObj,
                        stateHash: string,
                    ): Promise<{ rowCount: number | undefined; rows: GenObj[] }>;
                };
                routes: {
                    run_action: (
                        table_id: string | number,
                        viewname: string,
                        __namedParameters: GenObj,
                        body: GenObj,
                        __namedParameters: { req: Req; res: Res },
                        __namedParameters: GenObj,
                    ) => Promise<any>;
                };
                run: (
                    table_id: string | number,
                    viewname: string,
                    __namedParameters: GenObj,
                    stateWithId: GenObj,
                    extraOpts: { req: Req; res: Res; [key: string]: any },
                    __namedParameters: GenObj,
                ) => Promise<any>;
                view_quantity: string;
                getStringsForI18n(__namedParameters: GenObj): string[];
            }
            | {
                configCheck: (view: GenObj) => Promise<any>;
                configuration_workflow: (req: Req) => Workflow;
                connectedObjects: (configuration: GenObj) => Promise<any>;
                createBasicView: (__namedParameters: GenObj) => Promise<any>;
                description: string;
                get_state_fields: () => {
                    name: string;
                    primary_key: boolean;
                    required: boolean;
                    type: string;
                }[];
                initial_config: (
                    __namedParameters: { exttable_name?: string; table_id?: number },
                ) => Promise<any>;
                name: string;
                queries: (
                    __namedParameters: GenObj,
                ) => {
                    actionQuery(): Promise<any>;
                    runManyQuery(state: GenObj, __namedParameters: GenObj): Promise<Row[]>;
                    showQuery(
                        state: GenObj,
                    ): Promise<
                        { message: string; rows: null }
                        | { message: null; rows: Row[] },
                    >;
                };
                renderRows: (
                    table: any,
                    viewname: string,
                    __namedParameters: { columns: Column[]; layout: Layout },
                    extra: { req: Req; res: Res; [key: string]: any },
                    rows: Row[],
                    state: GenObj,
                ) => Promise<any>;
                routes: {
                    run_action: (
                        table_id: string | number,
                        viewname: string,
                        __namedParameters: { columns: Column[]; layout: Layout },
                        body: GenObj,
                        __namedParameters: { req: Req; res: Res },
                        __namedParameters: GenObj,
                    ) => Promise<any>;
                };
                run: (
                    table_id: string | number,
                    viewname: string,
                    __namedParameters: {
                        columns: Column[];
                        layout: Layout;
                        page_title?: string;
                        page_title_formula?: boolean;
                    },
                    state: GenObj,
                    extra: { isPreview?: boolean; req: Req; res: Res; [key: string]: any },
                    __namedParameters: GenObj,
                ) => Promise<any>;
                runMany: (
                    table_id: string | number,
                    viewname: string,
                    __namedParameters: { columns: Column[]; layout: Layout },
                    state: GenObj,
                    extra: { req: Req; res: Res; [key: string]: any },
                    __namedParameters: GenObj,
                ) => Promise<any>;
                getStringsForI18n(__namedParameters: { layout: Layout }): any;
                interpolate_title_string(
                    table_id: string | number,
                    title: string,
                    state: GenObj,
                ): Promise<any>;
            }
            | {
                configuration_workflow: (req: Req) => Workflow;
                connectedObjects: (configuration: GenObj) => Promise<any>;
                description: string;
                get_state_fields: (
                    table_id: number,
                    viewname: string,
                    opts: GenObj,
                ) => Promise<Field[]>;
                name: string;
                queries: (
                    __namedParameters: GenObj,
                ) => {
                    countRowsQuery(state: GenObj): Promise<number>;
                    runManyQuery(
                        state: GenObj,
                        qextra: GenObj,
                        selectOpts0: GenObj,
                    ): Promise<string[] | { html: string; row: any }[]>;
                };
                run: (
                    table_id: number,
                    viewname: string,
                    opts: GenObj,
                    state: GenObj,
                    extraArgs: GenObj,
                    __namedParameters: {
                        countRowsQuery: (state: GenObj) => Promise<number>;
                        runManyQuery: (
                            state: GenObj,
                            qextra: GenObj,
                            selectOpts: GenObj,
                        ) => Promise<GenObj[]>;
                    },
                ) => Promise<any>;
                getStringsForI18n(opts: GenObj): any[];
            }
            | {
                authorize_join: (
                    opts: GenObj,
                    room_id: string,
                    user: GenObj,
                ) => Promise<boolean>;
                configuration_workflow: (req: Req) => Workflow;
                connectedObjects: (configuration: GenObj) => Promise<any>;
                description: string;
                get_state_fields: () => {
                    name: string;
                    primary_key: boolean;
                    required: boolean;
                    type: string;
                }[];
                name: string;
                noAutoTest: boolean;
                queries: (
                    __namedParameters: GenObj,
                ) => {
                    ackReadQuery(
                        participant_field: string,
                        participant_maxread_field: string,
                        body: GenObj,
                    ): Promise<
                        | { json: { error: string; success?: undefined } }
                        | { json: { error?: undefined; success: string } },
                    >;
                    fetchOlderMsgQuery(
                        participant_field: string,
                        body: GenObj,
                    ): Promise<Row | null>;
                    getRowQuery(
                        state_id: string,
                        part_table_name: string,
                        part_user_field: string,
                        part_key_to_room: string,
                    ): Promise<Row | null>;
                    optionsQuery(
                        reftable_name: string,
                        type: string,
                        attributes: GenObj,
                        where: GenObj,
                    ): Promise<any>;
                    submitAjaxQuery(
                        msg_relation: string,
                        participant_field: string,
                        body: GenObj,
                        msgform: string,
                        msgsender_field: string,
                        participant_maxread_field: string,
                    ): Promise<
                        | { json: { error?: undefined; msgid: (...)
                        | (...) } }
                        | { json: { error: any; msgid?: undefined } },
                    >;
                    updateQuery(
                        partRow: GenObj,
                        part_table_name: string,
                        max_read_id: number,
                        part_maxread_field: string,
                    ): Promise<void>;
                };
                routes: {
                    ack_read: (
                        table_id: number,
                        viewname: string,
                        optsOne: GenObj,
                        body: GenObj,
                        optsTwo: { req: Req; res: Res },
                        __namedParameters: GenObj,
                    ) => Promise<any>;
                    fetch_older_msg: (
                        table_id: number,
                        viewname: string,
                        optsTwo: GenObj,
                        body: GenObj,
                        __namedParameters: { req: Req; res: Res },
                        __namedParameters: GenObj,
                    ) => Promise<
                        | {
                            json: {
                                error: string;
                                new_fetch_older_lt?: undefined;
                                prepend?: undefined;
                                remove_fetch_older?: undefined;
                                success?: undefined;
                            };
                        }
                        | {
                            json: {
                                error?: undefined;
                                new_fetch_older_lt: number;
                                prepend: string;
                                remove_fetch_older: boolean;
                                success: string;
                            };
                        },
                    >;
                    run_action: (
                        table_id: number,
                        viewname: string,
                        __namedParameters: GenObj,
                        body: GenObj,
                        __namedParameters: { req: Req; res: Res },
                    ) => Promise<any>;
                    submit_msg_ajax: (
                        table_id: number,
                        viewname: string,
                        optsOne: GenObj,
                        body: GenObj,
                        optsTwo: { req: Req; res: Res },
                        __namedParameters: GenObj,
                    ) => Promise<any>;
                };
                run: (
                    table_id: number,
                    viewname: string,
                    optsOne: GenObj,
                    state: GenObj,
                    optsTwo: { req: Req; res: Res },
                    __namedParameters: GenObj,
                ) => Promise<any>;
                virtual_triggers: (
                    table_id: number,
                    viewname: string,
                    opts: GenObj,
                ) => {
                    run: (row: GenObj) => Promise<void>;
                    table_id: number | undefined;
                    when_trigger: string;
                }[];
                getStringsForI18n(): never[];
            }
            | {
                configuration_workflow: (req: Req) => Workflow;
                connectedObjects: (configuration: GenObj) => Promise<any>;
                description: string;
                get_state_fields: () => never[];
                name: string;
                noAutoTest: boolean;
                queries: (__namedParameters: GenObj) => {};
                routes: {
                    delprevrun: (
                        table_id: number | null,
                        viewname: string,
                        config: GenObj,
                        body: GenObj,
                        __namedParameters: { req: Req; res: Res },
                    ) => Promise<void>;
                    submit_form: (
                        table_id: number | null,
                        viewname: string,
                        __namedParameters: GenObj,
                        body: GenObj,
                        __namedParameters: { req: Req },
                    ) => Promise<{ json: { eval_js: string; success: string } }>;
                };
                run: (
                    table_id: number | null,
                    viewname: string,
                    __namedParameters: GenObj,
                    state: GenObj,
                    __namedParameters: { isPreview?: boolean; req: Req; res: Res },
                    __namedParameters: GenObj,
                ) => Promise<any>;
                tableless: boolean;
                getStringsForI18n(): never[];
            }
            | {
                authorise_get: (
                    param0: { query: GenObj; req: Req; table_id: string | number },
                    param1: GenObj,
                ) => Promise<any>;
                authorise_post: (
                    param0: { body: GenObj; req: Req; table_id: string | number },
                    param1: GenObj,
                ) => Promise<any>;
                authorizeDataStream: (
                    view: any,
                    id: any,
                    fieldName: string,
                    user: any,
                    targetOpts: any,
                ) => Promise<boolean>;
                configCheck: (
                    view: View,
                ) => Promise<{ errors: string[]; warnings: string[] }>;
                configuration_workflow: (req: Req) => Workflow;
                connectedObjects: (configuration: GenObj) => Promise<ConnectedObjects>;
                createBasicView: (param0: GenObj) => Promise<any>;
                description: string;
                get_state_fields: (
                    table_id: string | number,
                    viewname: string,
                    param2: GenObj,
                ) => Promise<{ name: string; primary_key: boolean; type: string }[]>;
                initial_config: (
                    __namedParameters: { exttable_name?: string; table_id?: number },
                ) => Promise<any>;
                name: string;
                openDataStream: (
                    tableId: string | number,
                    viewName: string,
                    id: any,
                    fieldName: string,
                    fieldView: string,
                    user: any,
                    configuration: GenObj,
                    targetOpts: any,
                ) => Promise<any>;
                queries: (
                    param0: GenObj,
                ) => {
                    actionQuery(): Promise<any>;
                    authorizeGetQuery(
                        query: GenObj,
                        table_id: string | number,
                    ): Promise<string | number | boolean | null | undefined>;
                    authorizePostQuery(
                        body: GenObj,
                        table_id: string | number,
                    ): Promise<boolean | "" | null>;
                    editManyQuery(
                        state: GenObj,
                        __namedParameters: GenObj,
                    ): Promise<{ fields: Field[]; rows: Row[]; table: Table }>;
                    editQuery(
                        state: GenObj,
                        mobileReferrer: string | undefined,
                        isPreview: boolean,
                        hiddenLoginDest: any,
                    ): Promise<string>;
                    getRowByIdQuery(id: any): Promise<Row | null>;
                    getRowQuery(
                        table_id: string | number,
                        view_select: any,
                        row_id: any,
                        order_field?: string,
                    ): Promise<Row[]>;
                    optionsQuery(
                        reftable_name: string,
                        type: any,
                        attributes: any,
                        where: GenObj,
                    ): Promise<Row[]>;
                    saveFileFromContentsQuery(
                        fieldVal: string,
                        fieldId: number,
                        fieldView: string,
                        row: GenObj,
                        filename: string,
                        encoding?: string,
                    ): Promise<string>;
                    saveFileQuery(
                        fieldVal: string,
                        fieldId: number,
                        fieldView: string,
                        row: GenObj,
                    ): Promise<string>;
                    tryInsertQuery(
                        row: GenObj,
                    ): Promise<{ error: string } | { success: PrimaryKeyValue }>;
                    tryUpdateQuery(row: GenObj, id: any): Promise<any>;
                    updateMatchingQuery(
                        where: GenObj,
                        updateVals: GenObj,
                        repeatFields: any[],
                        childRows: GenObj,
                    ): Promise<
                        | any[]
                        | { error?: undefined; inEditError?: undefined; rowError: any }
                        | { error?: undefined; inEditError: any; rowError?: undefined }
                        | { error: any; inEditError?: undefined; rowError?: undefined },
                    >;
                };
                routes: {
                    run_action: (
                        table_id: string | number,
                        viewname: string,
                        __namedParameters: GenObj,
                        body: GenObj,
                        __namedParameters: { req: Req; res: Res },
                        __namedParameters: GenObj,
                    ) => Promise<any>;
                    update_matching_rows: (
                        table_id: string | number,
                        viewname: string,
                        __namedParameters: GenObj,
                        body: GenObj,
                        __namedParameters: { redirect?: string; req: Req; res: Res },
                        __namedParameters: GenObj,
                    ) => Promise<void>;
                };
                run: (
                    table_id: string | number,
                    viewname: string,
                    cfg: GenObj,
                    state: GenObj,
                    param4: {
                        hiddenLoginDest?: any;
                        isPreview?: boolean;
                        req: Req;
                        res: Res;
                    },
                    param5: GenObj,
                ) => Promise<any>;
                runMany: (
                    table_id: string | number,
                    viewname: string,
                    param2: GenObj,
                    state: GenObj,
                    extra: any,
                    param5: GenObj,
                ) => Promise<any[]>;
                runPost: (
                    table_id: string | number,
                    viewname: string,
                    param2: GenObj,
                    state: GenObj,
                    body: GenObj,
                    param5: { redirect?: string; req: Req; res: Res },
                    param6: GenObj,
                    remote?: boolean,
                ) => Promise<void>;
                virtual_triggers: (
                    table_id: string | number,
                    viewname: string,
                    param2: GenObj,
                ) => {
                    run: (row: GenObj, __namedParameters: GenObj) => Promise<void>;
                    table_id: string | number;
                    when_trigger: string;
                }[];
                getStringsForI18n(param0: GenObj): string[];
                interpolate_title_string(
                    table_id: string | number,
                    title: string,
                    state: GenObj,
                ): Promise<string>;
            }
            | {
                configuration_workflow: (req: Req) => Workflow;
                description: string;
                get_state_fields: () => never[];
                initial_config: () => Promise<{ columns: never[]; layout: {} }>;
                name: string;
                queries: (
                    __namedParameters: GenObj,
                ) => {
                    actionQuery(state: GenObj, rndid: string): Promise<any>;
                    distinctValuesQuery(
                        state: GenObj,
                    ): Promise<{ distinct_values: GenObj; role: any }>;
                    optionsQuery(
                        reftable_name: string,
                        type: string,
                        attributes: GenObj,
                        whereWithExisting: GenObj,
                        user: GenObj,
                    ): Promise<any>;
                };
                routes: {
                    run_action: (
                        table_id: string | number,
                        viewname: string,
                        config: GenObj,
                        body: GenObj,
                        __namedParameters: { req: Req; res: Res },
                        __namedParameters: GenObj,
                    ) => Promise<any>;
                };
                run: (
                    table_id: string | number,
                    viewname: string,
                    opts: { columns: Column[]; layout: Layout },
                    state: GenObj,
                    extra: { req: Req; res: Res; [key: string]: any },
                    __namedParameters: GenObj,
                ) => Promise<string>;
                getStringsForI18n(opts: GenObj): any;
            }
        )[];
    }

    Type Declaration

    • actions: {
          blocks: {
              configFields: { input_type: string; name: string }[];
              description: string;
              disableInBuilder: boolean;
              disableInList: boolean;
              disableInWorkflow: boolean;
              namespace: string;
              run: (
                  opts: {
                      channel?: string;
                      configuration: { code: string; run_where: string };
                      row?: Row;
                      table?: Table;
                      user?: User | AbstractUser;
                      [key: string]: any;
                  },
              ) => Promise<any>;
          };
          convert_session_to_user: {
              configFields: (
                  __namedParameters: any,
              ) => Promise<
                  (
                      | {
                          attributes?: undefined;
                          input_type: string;
                          label: string;
                          name: string;
                          options: string[];
                          sublabel: string;
                          type?: undefined;
                      }
                      | {
                          attributes: { calcOptions: ((...) | (...))[] };
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          sublabel: string;
                          type: string;
                      }
                  )[],
              >;
              description: string;
              namespace: string;
              run: (
                  __namedParameters: {
                      configuration: {
                          session_field: string;
                          table_name: string;
                          user_field: string;
                      };
                      row?: Row & { old_session_id?: string };
                      user?: User | AbstractUser;
                  },
              ) => Promise<void>;
          };
          copy_to_clipboard: {
              configFields: {
                  label: string;
                  name: string;
                  required: boolean;
                  sublabel: string;
                  type: string;
              }[];
              description: string;
              namespace: string;
              requireRow: boolean;
              run: (
                  __namedParameters: {
                      configuration: { text_template?: string };
                      req?: Req;
                      row?: Row;
                      table?: Table;
                      user?: User | AbstractUser;
                      [key: string]: any;
                  },
              ) => Promise<{ eval_js: string }>;
          };
          delete_rows: {
              configFields: (
                  __namedParameters: any,
              ) => Promise<
                  (
                      | {
                          class?: undefined;
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          required?: undefined;
                          showIf?: undefined;
                          sublabel?: undefined;
                          type: string;
                      }
                      | {
                          class?: undefined;
                          input_type: string;
                          label: string;
                          name: string;
                          options: string[];
                          required?: undefined;
                          showIf: { delete_triggering_row: boolean }
                          | undefined;
                          sublabel: string;
                          type?: undefined;
                      }
                      | {
                          class: string;
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          required: boolean;
                          showIf: { delete_triggering_row: boolean }
                          | undefined;
                          sublabel: string;
                          type: string;
                      }
                  )[],
              >;
              description: string;
              namespace: string;
              run: (
                  __namedParameters: {
                      configuration: {
                          delete_triggering_row?: boolean;
                          delete_where?: string;
                          table_name?: string;
                      };
                      row?: Row;
                      table?: Table;
                      user?: User
                      | AbstractUser;
                      [key: string]: any;
                  },
              ) => Promise<{}>;
          };
          download_file_to_browser: {
              configFields: (
                  __namedParameters: { mode: string; table: Table },
              ) => Promise<
                  | {
                      class: string;
                      label: string;
                      name: string;
                      sublabel: string;
                      type: string;
                  }[]
                  | {
                      attributes: { options: string[] };
                      label: string;
                      name: string;
                      required: boolean;
                      type: string;
                  }[],
              >;
              description: string;
              run: (
                  __namedParameters: {
                      configuration: { file_field?: string; filepath_expr?: string };
                      mode?: string;
                      row?: Row;
                      user?: User | AbstractUser;
                  },
              ) => Promise<
                  | {
                      download: {
                          blob: string
                          | Buffer<ArrayBufferLike>;
                          filename: string;
                          mimetype: string;
                      };
                  }
                  | undefined,
              >;
          };
          duplicate_row: {
              configFields: () => never[];
              description: string;
              disableInWorkflow: boolean;
              namespace: string;
              requireRow: boolean;
              run: (
                  opts: { row: Row; table: Table; user?: User | AbstractUser },
              ) => Promise<void>;
          };
          duplicate_row_prefill_edit: {
              configFields: (
                  __namedParameters: any,
              ) => Promise<
                  (
                      | { default: boolean; label: string; name: string; type: string }
                      | { input_type: string; label: string; name: string; options: string[] }
                  )[],
              >;
              disableInWorkflow: boolean;
              namespace: string;
              requireRow: boolean;
              run: (
                  __namedParameters: {
                      configuration: { viewname: string; [key: string]: any };
                      row: Row;
                      table: Table;
                      user?: User | AbstractUser;
                  },
              ) => Promise<{ goto: string }>;
          };
          emit_event: {
              configFields: () => (
                  | {
                      fieldview?: undefined;
                      input_type: string;
                      label: string;
                      name: string;
                      options: string[];
                      required: boolean;
                      sublabel?: undefined;
                      type?: undefined;
                  }
                  | {
                      fieldview: string;
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      required?: undefined;
                      sublabel?: undefined;
                      type: string;
                  }
                  | {
                      fieldview: string;
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      required?: undefined;
                      sublabel: string;
                      type: string;
                  }
              )[];
              description: string;
              namespace: string;
              run: (
                  opts: {
                      configuration: { channel?: string; eventType: string; payload?: any };
                      row: Row;
                      user?: User | AbstractUser;
                  },
              ) => Promise<void>;
          };
          find_or_create_dm_room: {
              configFields: () => Promise<
                  {
                      input_type: string;
                      label: string;
                      name: string;
                      options: string[];
                      sublabel: string;
                  }[],
              >;
              description: string;
              namespace: string;
              run: (
                  opts: {
                      configuration: { viewname: string };
                      row: Row;
                      table?: Table;
                      user: User;
                  },
              ) => Promise<{ goto: string }>;
          };
          form_action: {
              configFields: {
                  attributes: { options: string[] };
                  label: string;
                  name: string;
                  required: boolean;
                  type: string;
              }[];
              description: string;
              namespace: string;
              requireRow: boolean;
              run: (
                  __namedParameters: {
                      configuration: { form_action: string };
                      req?: Req;
                      row?: Row;
                      table: Table;
                      user?: User | AbstractUser;
                      [key: string]: any;
                  },
              ) => Promise<
                  | {
                      eval_js: string;
                      notify_success?: undefined;
                      set_fields?: undefined;
                  }
                  | {
                      eval_js?: undefined;
                      notify_success: string;
                      set_fields: { [key: string]: any };
                  }
                  | { eval_js?: undefined; notify_success: string; set_fields?: undefined },
              >;
          };
          insert_any_row: {
              configFields: (
                  __namedParameters: any,
              ) => Promise<
                  (
                      | {
                          attributes?: undefined;
                          class?: undefined;
                          fieldview?: undefined;
                          input_type: string;
                          label: string;
                          name: string;
                          options: string[];
                          sublabel: string;
                          type?: undefined;
                      }
                      | {
                          attributes: { spellcheck: boolean };
                          class: string;
                          fieldview: string;
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          sublabel: string;
                          type: string;
                      }
                      | {
                          attributes?: undefined;
                          class?: undefined;
                          fieldview?: undefined;
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          sublabel: string;
                          type: string;
                      }
                  )[],
              >;
              description: string;
              namespace: string;
              run: (
                  opts: {
                      configuration: {
                          id_variable?: string;
                          row_expr: string;
                          table: string;
                      };
                      referrer?: string;
                      row?: Row;
                      table?: Table;
                      user?: User
                      | AbstractUser;
                      [key: string]: any;
                  },
              ) => Promise<GenObj>;
          };
          insert_joined_row: {
              configFields: (
                  __namedParameters: any,
              ) => Promise<
                  {
                      input_type: string;
                      label: string;
                      name: string;
                      options: any;
                      sublabel: string;
                  }[],
              >;
              description: string;
              disableInWorkflow: boolean;
              namespace: string;
              requireRow: boolean;
              run: (
                  opts: {
                      configuration: { joined_table: string };
                      row: Row;
                      table: Table;
                      user?: User | AbstractUser;
                  },
              ) => Promise<any>;
          };
          install_progressive_web_app: {
              configFields: () => never[];
              description: string;
              run: (
                  __namedParameters: { req: Req },
              ) => Promise<
                  | { error?: undefined; eval_js: string }
                  | { error: string; eval_js?: undefined },
              >;
          };
          loop_rows: {
              configFields: () => Promise<
                  (
                      | {
                          attributes?: undefined;
                          input_type: string;
                          label: string;
                          name: string;
                          options: string[];
                          sublabel: string;
                          type?: undefined;
                      }
                      | {
                          attributes: {
                              calcOptions?: undefined;
                              expression_type: string;
                              min?: undefined;
                              mode: string;
                              singleline: boolean;
                          };
                          input_type: string;
                          label: string;
                          name: string;
                          options?: undefined;
                          sublabel: string;
                          type?: undefined;
                      }
                      | {
                          attributes?: undefined;
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          sublabel: string;
                          type: string;
                      }
                      | {
                          attributes: {
                              calcOptions: ((...) | (...))[];
                              expression_type?: undefined;
                              min?: undefined;
                              mode?: undefined;
                              singleline?: undefined;
                          };
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          sublabel?: undefined;
                          type: string;
                      }
                      | {
                          attributes?: undefined;
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          sublabel?: undefined;
                          type: string;
                      }
                      | {
                          attributes: {
                              calcOptions?: undefined;
                              expression_type?: undefined;
                              min: number;
                              mode?: undefined;
                              singleline?: undefined;
                          };
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          sublabel: string;
                          type: string;
                      }
                      | {
                          attributes?: undefined;
                          input_type: string;
                          label: string;
                          name: string;
                          options: { label: (...)
                          | (...); value: (...) | (...) | (...) }[];
                          sublabel: string;
                          type?: undefined;
                      }
                  )[],
              >;
              description: string;
              namespace: string;
              run: (
                  opts: {
                      configuration: {
                          interval?: number;
                          limit?: number;
                          orderBy?: string;
                          orderDesc?: boolean;
                          table_name: string;
                          trigger_id?: number;
                          where?: Where;
                      };
                      row: Row;
                      user?: User
                      | AbstractUser;
                      [key: string]: unknown;
                  },
              ) => Promise<{}>;
          };
          modify_row: {
              configFields: (
                  __namedParameters: { mode: string; when_trigger: string },
              ) => Promise<
                  (
                      | {
                          attributes: {
                              compact: boolean;
                              expression_type: string;
                              mode: string;
                              options?: undefined;
                              showIf?: undefined;
                              singleline?: undefined;
                          };
                          input_type: string;
                          label: string;
                          name: string;
                          required?: undefined;
                          showIf?: undefined;
                          sublabel: string;
                          type?: undefined;
                      }
                      | {
                          attributes: {
                              compact?: undefined;
                              expression_type?: undefined;
                              mode?: undefined;
                              options: string[];
                              showIf?: undefined;
                              singleline?: undefined;
                          };
                          input_type?: undefined;
                          label: string;
                          name: string;
                          required: boolean;
                          showIf?: undefined;
                          sublabel?: undefined;
                          type: string;
                      }
                      | {
                          attributes: {
                              compact?: undefined;
                              expression_type?: undefined;
                              mode?: undefined;
                              options: string[];
                              showIf: { where: string };
                              singleline?: undefined;
                          };
                          input_type?: undefined;
                          label: string;
                          name: string;
                          required: boolean;
                          showIf?: undefined;
                          sublabel?: undefined;
                          type: string;
                      }
                      | {
                          attributes: {
                              compact?: undefined;
                              expression_type: string;
                              mode: string;
                              options?: undefined;
                              showIf?: undefined;
                              singleline: boolean;
                          };
                          input_type: string;
                          label: string;
                          name: string;
                          required: boolean;
                          showIf: { where: string };
                          sublabel?: undefined;
                          type?: undefined;
                      }
                  )[],
              >;
              description: string;
              namespace: string;
              requireRow: boolean;
              run: (
                  __namedParameters: {
                      configuration: {
                          query?: string;
                          row_expr: string;
                          select_table?: string;
                          where?: string;
                      };
                      row?: Row;
                      table?: Table;
                      user?: User
                      | AbstractUser;
                      [key: string]: any;
                  },
              ) => Promise<
                  ErrorMessage
                  | SuccessMessage
                  | { set_fields: any }
                  | undefined,
              >;
          };
          navigate: {
              configFields: () => Promise<
                  (
                      | {
                          attributes: { options: string[] };
                          class?: undefined;
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          required: boolean;
                          showIf?: undefined;
                          type: string;
                      }
                      | {
                          attributes?: undefined;
                          class?: undefined;
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          required: boolean;
                          showIf: { nav_action: string[] };
                          type: string;
                      }
                      | {
                          attributes?: undefined;
                          class?: undefined;
                          input_type: string;
                          label: string;
                          name: string;
                          options: string[];
                          required?: undefined;
                          showIf: { nav_action: string };
                          type?: undefined;
                      }
                      | {
                          attributes?: undefined;
                          class: string;
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          required?: undefined;
                          showIf: { nav_action: string[] };
                          type: string;
                      }
                      | {
                          attributes?: undefined;
                          class?: undefined;
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          required?: undefined;
                          showIf: { nav_action: string[] };
                          type: string;
                      }
                  )[],
              >;
              description: string;
              namespace: string;
              run: (
                  __namedParameters: {
                      configuration: {
                          in_popup?: boolean;
                          nav_action: string;
                          new_tab?: boolean;
                          page?: string;
                          state_formula?: string;
                          url?: string;
                          view?: string;
                      };
                      req?: Req;
                      row?: Row;
                      user?: User
                      | AbstractUser;
                  },
              ) => Promise<
                  | {
                      eval_js?: undefined;
                      popup?: undefined;
                      reload_page?: undefined;
                      target?: string;
                  }
                  | { eval_js?: undefined; popup: any; reload_page?: undefined }
                  | { eval_js: string; popup?: undefined; reload_page?: undefined }
                  | { eval_js?: undefined; popup?: undefined; reload_page: boolean }
                  | undefined,
              >;
          };
          notify_user: {
              configFields: () => (
                  | { label: string; name: string; required?: undefined; type: string }
                  | { label: string; name: string; required: boolean; type: string }
              )[];
              description: string;
              namespace: string;
              run: (
                  opts: {
                      configuration: {
                          body?: string;
                          link?: string;
                          title: string;
                          user_spec: string | number | GenObj;
                      };
                      row?: Row;
                      user?: User
                      | AbstractUser;
                  },
              ) => Promise<void>;
          };
          progress_bar: {
              configFields: (
                  | {
                      class?: undefined;
                      label: string;
                      name: string;
                      required?: undefined;
                      showIf?: undefined;
                      sublabel: string;
                      type: string;
                  }
                  | {
                      class: string;
                      label: string;
                      name: string;
                      required: boolean;
                      showIf: { blocking: boolean; close?: undefined };
                      sublabel: string;
                      type: string;
                  }
                  | {
                      class?: undefined;
                      label: string;
                      name: string;
                      required?: undefined;
                      showIf: { blocking: boolean; close: boolean };
                      sublabel: string;
                      type: string;
                  }
                  | {
                      class?: undefined;
                      label: string;
                      name: string;
                      required?: undefined;
                      showIf: { blocking: boolean; close: boolean };
                      sublabel?: undefined;
                      type: string;
                  }
                  | {
                      class?: undefined;
                      label: string;
                      name: string;
                      required?: undefined;
                      showIf: { blocking?: undefined; close: boolean };
                      sublabel?: undefined;
                      type: string;
                  }
                  | {
                      class?: undefined;
                      label: string;
                      name: string;
                      required?: undefined;
                      showIf: { blocking?: undefined; close: boolean };
                      sublabel: string;
                      type: string;
                  }
              )[];
              description: string;
              namespace: string;
              run: (
                  __namedParameters: {
                      configuration: {
                          blocking?: boolean;
                          close?: boolean;
                          id?: string;
                          maxHeight?: string;
                          message?: string;
                          percent?: string;
                          popupWidth?: string;
                          title?: string;
                      };
                      req?: Req;
                      row?: Row;
                      user?: User
                      | AbstractUser;
                  },
              ) => Promise<
                  {
                      page_load_tag: any;
                      progress_bar_update: {
                          blocking: boolean
                          | undefined;
                          close: boolean | undefined;
                          id: any;
                          maxHeight: string | undefined;
                          message: any;
                          percent: number;
                          popupWidth: string | undefined;
                          title: any;
                      };
                  },
              >;
          };
          recalculate_stored_fields: {
              configFields: (
                  __namedParameters: any,
              ) => Promise<
                  (
                      | {
                          attributes?: undefined;
                          input_type: string;
                          label: string;
                          name: string;
                          options: string[];
                          showIf?: undefined;
                          sublabel: string;
                          type?: undefined;
                      }
                      | {
                          attributes?: undefined;
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          showIf: { table: any }
                          | { table?: undefined };
                          sublabel?: undefined;
                          type: string;
                      }
                      | {
                          attributes: {
                              expression_type: string;
                              mode: string;
                              singleline: boolean;
                          };
                          input_type: string;
                          label: string;
                          name: string;
                          options?: undefined;
                          showIf?: undefined;
                          sublabel: string;
                          type?: undefined;
                      }
                  )[],
              >;
              description: string;
              namespace: string;
              run: (
                  opts: {
                      configuration: {
                          only_triggering_row?: boolean;
                          table: string;
                          where?: string;
                      };
                      row?: Row;
                      table?: Table;
                      user?: User
                      | AbstractUser;
                  },
              ) => Promise<{ error: string } | undefined>;
          };
          refresh_user_session: {
              description: string;
              namespace: string;
              run: (__namedParameters: { req: Req; user?: User }) => Promise<void>;
          };
          reload_embedded_view: {
              configFields: () => Promise<
                  (
                      | {
                          attributes: { options: any[] };
                          class: string;
                          label: string;
                          name: string;
                          required: boolean;
                          sublabel?: undefined;
                          type: string;
                      }
                      | {
                          attributes?: undefined;
                          class: string;
                          label: string;
                          name: string;
                          required?: undefined;
                          sublabel?: undefined;
                          type: string;
                      }
                      | {
                          attributes?: undefined;
                          class?: undefined;
                          label: string;
                          name: string;
                          required?: undefined;
                          sublabel: string;
                          type: string;
                      }
                  )[],
              >;
              description: string;
              namespace: string;
              run: (
                  __namedParameters: {
                      configuration: {
                          interval?: number;
                          new_state_fml?: string;
                          view: string;
                      };
                      row?: Row;
                      user?: User
                      | AbstractUser;
                  },
              ) => Promise<{ eval_js: string }>;
          };
          run_js_code: {
              configFields: (
                  __namedParameters: any,
              ) => Promise<
                  (
                      | {
                          attributes: {
                              mode: string;
                              secondColHoriz?: undefined;
                              table: any;
                              user: string
                              | undefined;
                              workflow: boolean;
                          };
                          class: string;
                          help?: undefined;
                          input_type: string;
                          label: string;
                          name: string;
                          options?: undefined;
                          showIf?: undefined;
                          sublabel?: undefined;
                          validator(s: any): any;
                      }
                      | {
                          attributes: {
                              mode?: undefined;
                              secondColHoriz: boolean;
                              table?: undefined;
                              user?: undefined;
                              workflow?: undefined;
                          };
                          class?: undefined;
                          help: { topic: string };
                          input_type: string;
                          label: string;
                          name?: undefined;
                          options?: undefined;
                          showIf: { run_where: string };
                          sublabel: any;
                          validator?: undefined;
                      }
                      | {
                          attributes?: undefined;
                          class?: undefined;
                          help?: undefined;
                          input_type: string;
                          label: string;
                          name: string;
                          options: string[];
                          showIf?: undefined;
                          sublabel?: undefined;
                          validator?: undefined;
                      }
                  )[],
              >;
              configFormOptions: { formStyle: string };
              configuration_summary: (cfg?: GenObj) => string;
              description: string;
              namespace: string;
              run: (
                  opts: {
                      channel?: string;
                      configuration: { code: string; run_where: string };
                      row?: Row;
                      table?: Table;
                      user?: User | AbstractUser;
                      [key: string]: any;
                  },
              ) => Promise<any>;
          };
          run_js_code_in_field: {
              configFields: (
                  __namedParameters: { mode: string; table: Table },
              ) => Promise<
                  | (
                      | {
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          required: boolean;
                          sublabel: string;
                          type: string;
                      }
                      | {
                          input_type: string;
                          label: string;
                          name: string;
                          options: string[];
                          required?: undefined;
                          sublabel?: undefined;
                          type?: undefined;
                      }
                  )[]
                  | (
                      | {
                          attributes: { options: (...)[] };
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          required: boolean;
                          sublabel: string;
                          type: string;
                      }
                      | {
                          attributes?: undefined;
                          input_type: string;
                          label: string;
                          name: string;
                          options: string[];
                          required?: undefined;
                          sublabel?: undefined;
                          type?: undefined;
                      }
                  )[],
              >;
              configuration_summary: (cfg?: GenObj) => string;
              description: string;
              namespace: string;
              requireRow: boolean;
              run: (
                  __namedParameters: {
                      configuration: { code_field: string; run_where?: string };
                      mode?: string;
                      row: Row;
                      table: Table;
                      [key: string]: any;
                  },
              ) => Promise<any>;
          };
          send_email: {
              configFields: (
                  __namedParameters: { mode?: string; table?: Table },
              ) => Promise<
                  | (
                      | {
                          fieldview?: undefined;
                          label: string;
                          name: string;
                          required?: undefined;
                          sublabel: string;
                          type: string;
                      }
                      | {
                          fieldview?: undefined;
                          label: string;
                          name: string;
                          required: boolean;
                          sublabel: string;
                          type: string;
                      }
                      | {
                          fieldview: string;
                          label: string;
                          name: string;
                          required: boolean;
                          sublabel?: undefined;
                          type: string;
                      }
                  )[]
                  | (
                      | {
                          attributes: { options: (...)[] };
                          class?: undefined;
                          default?: undefined;
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          required: boolean;
                          showIf?: undefined;
                          sublabel?: undefined;
                          type: string;
                      }
                      | {
                          attributes: { options: (...)[] };
                          class?: undefined;
                          default?: undefined;
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          required: boolean;
                          showIf: { body_type: (...)[]; to_email?: undefined };
                          sublabel?: undefined;
                          type: string;
                      }
                      | {
                          attributes?: undefined;
                          class?: undefined;
                          default?: undefined;
                          input_type: string;
                          label: string;
                          name: string;
                          options: string[];
                          required?: undefined;
                          showIf: { body_type: string; to_email?: undefined };
                          sublabel: string;
                          type?: undefined;
                      }
                      | {
                          attributes?: undefined;
                          class?: undefined;
                          default?: undefined;
                          input_type: string;
                          label: string;
                          name: string;
                          options: string[];
                          required: boolean;
                          showIf?: undefined;
                          sublabel: string;
                          type?: undefined;
                      }
                      | {
                          attributes?: undefined;
                          class?: undefined;
                          default?: undefined;
                          input_type: string;
                          label: string;
                          name: string;
                          options: string[];
                          required?: undefined;
                          showIf: { body_type?: undefined; to_email: string };
                          sublabel: string;
                          type?: undefined;
                      }
                      | {
                          attributes?: undefined;
                          class?: undefined;
                          default?: undefined;
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          required?: undefined;
                          showIf: { body_type?: undefined; to_email: string };
                          sublabel: string;
                          type: string;
                      }
                      | {
                          attributes?: undefined;
                          class?: undefined;
                          default?: undefined;
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          required?: undefined;
                          showIf?: undefined;
                          sublabel: string;
                          type: string;
                      }
                      | {
                          attributes?: undefined;
                          class: string;
                          default?: undefined;
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          required: boolean;
                          showIf?: undefined;
                          sublabel: string;
                          type: string;
                      }
                      | {
                          attributes?: undefined;
                          class?: undefined;
                          default?: undefined;
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          required: boolean;
                          showIf?: undefined;
                          sublabel?: undefined;
                          type: string;
                      }
                      | {
                          attributes?: undefined;
                          class?: undefined;
                          default: string;
                          input_type: string;
                          label: string;
                          name: string;
                          options: string[];
                          required?: undefined;
                          showIf?: undefined;
                          sublabel: string;
                          type: string;
                      }
                      | {
                          attributes?: undefined;
                          class?: undefined;
                          default?: undefined;
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          required?: undefined;
                          showIf?: undefined;
                          sublabel?: undefined;
                          type: string;
                      }
                      | {
                          attributes: { options: (...)[] };
                          class?: undefined;
                          default?: undefined;
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          required?: undefined;
                          showIf?: undefined;
                          sublabel: string;
                          type: string;
                      }
                  )[],
              >;
              description: string;
              namespace: string;
              requireRow: boolean;
              run: (
                  opts: {
                      configuration: {
                          attachment_path?: string;
                          bcc_email?: string;
                          body?: string;
                          body_field?: string;
                          body_type?: string;
                          cc_email?: string;
                          confirm_field?: string;
                          disable_notify?: boolean;
                          locale?: string;
                          only_if?: string;
                          subject?: string;
                          subject_formula?: string;
                          to_email: string;
                          to_email_field?: string;
                          to_email_fixed?: string;
                          viewname?: string;
                      };
                      mode: string;
                      row: Row;
                      table: Table;
                      user: User;
                  },
              ) => Promise<
                  | { notify?: undefined; [key: string]: boolean }
                  | { notify: string }
                  | undefined,
              >;
          };
          set_user_language: {
              configFields: (
                  __namedParameters: any,
              ) => Promise<
                  {
                      attributes: { options: { label: unknown; name: string }[] };
                      name: string;
                      required: boolean;
                      type: string;
                  }[],
              >;
              description: string;
              namespace: string;
              run: (
                  __namedParameters: {
                      configuration: { language: string };
                      req: Req;
                      res?: Res;
                      user?: User | AbstractUser;
                  },
              ) => Promise<{ reload_page: boolean }>;
          };
          sleep: {
              configFields: (
                  | {
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      required: boolean;
                      type: string;
                  }
                  | {
                      input_type: string;
                      label: string;
                      name: string;
                      options: string[];
                      required?: undefined;
                      type?: undefined;
                  }
              )[];
              description: string;
              namespace: string;
              run: (
                  __namedParameters: {
                      configuration: { seconds?: number; sleep_where?: string };
                  },
              ) => Promise<{ eval_js: string } | undefined>;
          };
          step_control_flow: {
              configFields: (
                  | {
                      attributes: { options: string[] };
                      label: string;
                      name: string;
                      required: boolean;
                      showIf?: undefined;
                      type: string;
                  }
                  | {
                      attributes?: undefined;
                      label: string;
                      name: string;
                      required: boolean;
                      showIf: { control_action: string[] };
                      type: string;
                  }
              )[];
              description: string;
              disableInWorkflow: boolean;
              namespace: string;
              run: (
                  __namedParameters: {
                      configuration: { control_action: string; step?: string };
                      row?: Row;
                      user?: User | AbstractUser;
                  },
              ) => Promise<
                  | {
                      clear_return_values?: undefined;
                      goto_step?: undefined;
                      halt_steps: boolean;
                  }
                  | {
                      clear_return_values?: undefined;
                      goto_step: string
                      | undefined;
                      halt_steps?: undefined;
                  }
                  | {
                      clear_return_values: boolean;
                      goto_step?: undefined;
                      halt_steps?: undefined;
                  }
                  | undefined,
              >;
          };
          sync_table_from_external: {
              configFields: (
                  __namedParameters: any,
              ) => Promise<
                  (
                      | {
                          attributes?: undefined;
                          default?: undefined;
                          fieldview?: undefined;
                          input_type: string;
                          label: string;
                          name: string;
                          options: string[];
                          required?: undefined;
                          showIf?: undefined;
                          sublabel: string;
                          type?: undefined;
                      }
                      | {
                          attributes: {
                              calcOptions?: undefined;
                              expression_type: string;
                              mode: string;
                              singleline: boolean;
                          };
                          default?: undefined;
                          fieldview?: undefined;
                          input_type: string;
                          label: string;
                          name: string;
                          options?: undefined;
                          required?: undefined;
                          showIf?: undefined;
                          sublabel: string;
                          type?: undefined;
                      }
                      | {
                          attributes: {
                              calcOptions: ((...) | (...))[];
                              expression_type?: undefined;
                              mode?: undefined;
                              singleline?: undefined;
                          };
                          default?: undefined;
                          fieldview?: undefined;
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          required: boolean;
                          showIf?: undefined;
                          sublabel: string;
                          type: string;
                      }
                      | {
                          attributes?: undefined;
                          default: boolean;
                          fieldview?: undefined;
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          required?: undefined;
                          showIf?: undefined;
                          sublabel: string;
                          type: string;
                      }
                      | {
                          attributes?: undefined;
                          default?: undefined;
                          fieldview: string;
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          required?: undefined;
                          showIf: { match_field_names: boolean };
                          sublabel: string;
                          type: string;
                      }
                  )[],
              >;
              description: string;
              namespace: string;
              run: (
                  opts: {
                      configuration: {
                          delete_rows?: boolean;
                          match_field_names?: boolean;
                          pk_field?: string;
                          row_expr?: string;
                          table_dest: string;
                          table_src: string;
                          where?: string;
                      };
                      user?: User
                      | AbstractUser;
                      [key: string]: any;
                  },
              ) => Promise<{ error: string } | undefined>;
          };
          toast: {
              configFields: (
                  | {
                      attributes: { options: string[] };
                      label: string;
                      name: string;
                      required: boolean;
                      sublabel?: undefined;
                      type: string;
                  }
                  | {
                      attributes?: undefined;
                      label: string;
                      name: string;
                      required: boolean;
                      sublabel?: undefined;
                      type: string;
                  }
                  | {
                      attributes?: undefined;
                      label: string;
                      name: string;
                      required?: undefined;
                      sublabel: string;
                      type: string;
                  }
                  | {
                      attributes?: undefined;
                      label: string;
                      name: string;
                      required?: undefined;
                      sublabel?: undefined;
                      type: string;
                  }
              )[];
              description: string;
              namespace: string;
              run: (
                  __namedParameters: {
                      configuration: {
                          notify_type?: string;
                          remove_delay?: number;
                          text: string;
                          title?: string;
                          type?: string;
                      };
                      row?: Row;
                      user?: User
                      | AbstractUser;
                  },
              ) => Promise<
                  | { error: any }
                  | { notify_success: any }
                  | { notify: any; notify_type: string }
                  | { notify: any },
              >;
          };
          train_model_instance: {
              configFields: () => Promise<
                  (
                      | {
                          attributes: {
                              explainers: Record<string, string>;
                              expression_type?: undefined;
                              mode?: undefined;
                              singleline?: undefined;
                          };
                          class?: undefined;
                          fieldview?: undefined;
                          input_type: string;
                          label: string;
                          name: string;
                          options: { label: string; value: (...)
                          | (...) }[];
                          required: boolean;
                          sublabel?: undefined;
                          type?: undefined;
                      }
                      | {
                          attributes?: undefined;
                          class?: undefined;
                          fieldview?: undefined;
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          required: boolean;
                          sublabel: string;
                          type: string;
                      }
                      | {
                          attributes: {
                              explainers?: undefined;
                              expression_type: string;
                              mode: string;
                              singleline: boolean;
                          };
                          class?: undefined;
                          fieldview: string;
                          input_type: string;
                          label: string;
                          name: string;
                          options?: undefined;
                          required?: undefined;
                          sublabel: string;
                          type?: undefined;
                      }
                      | {
                          attributes?: undefined;
                          class: string;
                          fieldview: string;
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          required?: undefined;
                          sublabel: string;
                          type: string;
                      }
                  )[],
              >;
              description: string;
              disableIf: () => boolean;
              namespace: string;
              run: (
                  __namedParameters: {
                      configuration: {
                          hyperparameters?: string;
                          instance_name: string;
                          model_id: number;
                          where?: string;
                      };
                      row?: Row;
                      user?: User
                      | AbstractUser;
                  },
              ) => Promise<void>;
          };
          webhook: {
              configFields: (
                  __namedParameters: { mode: string; table: Table },
              ) => Promise<
                  (
                      | {
                          attributes?: undefined;
                          fieldview?: undefined;
                          label: string;
                          name: string;
                          required?: undefined;
                          showIf?: undefined;
                          sublabel: string;
                          type: string;
                      }
                      | {
                          attributes: { options: string[] };
                          fieldview?: undefined;
                          label: string;
                          name: string;
                          required: boolean;
                          showIf?: undefined;
                          sublabel?: undefined;
                          type: string;
                      }
                      | {
                          attributes?: undefined;
                          fieldview: string;
                          label: string;
                          name: string;
                          required?: undefined;
                          showIf: { method: string[] };
                          sublabel: string;
                          type: string;
                      }
                      | {
                          attributes: { options: string[] };
                          fieldview?: undefined;
                          label: string;
                          name: string;
                          required?: undefined;
                          showIf?: undefined;
                          sublabel?: undefined;
                          type: string;
                      }
                  )[],
              >;
              description: string;
              run: (
                  opts: {
                      configuration: {
                          authorization?: string;
                          body?: string;
                          method?: string;
                          response_field?: string;
                          response_var?: string;
                          url: string;
                      };
                      row?: Row;
                      table?: Table;
                      user?: User
                      | AbstractUser;
                  },
              ) => Promise<{ [key: string]: any } | undefined>;
          };
      }
      • Namespaceblocks: {
            configFields: { input_type: string; name: string }[];
            description: string;
            disableInBuilder: boolean;
            disableInList: boolean;
            disableInWorkflow: boolean;
            namespace: string;
            run: (
                opts: {
                    channel?: string;
                    configuration: { code: string; run_where: string };
                    row?: Row;
                    table?: Table;
                    user?: User | AbstractUser;
                    [key: string]: any;
                },
            ) => Promise<any>;
        }

        actions

        • configFields: { input_type: string; name: string }[]
        • description: string
        • disableInBuilder: boolean
        • disableInList: boolean
        • disableInWorkflow: boolean
        • namespace: string
        • run: (
              opts: {
                  channel?: string;
                  configuration: { code: string; run_where: string };
                  row?: Row;
                  table?: Table;
                  user?: User | AbstractUser;
                  [key: string]: any;
              },
          ) => Promise<any>

          base-plugin/actions~run_code

      • convert_session_to_user: {
            configFields: (
                __namedParameters: any,
            ) => Promise<
                (
                    | {
                        attributes?: undefined;
                        input_type: string;
                        label: string;
                        name: string;
                        options: string[];
                        sublabel: string;
                        type?: undefined;
                    }
                    | {
                        attributes: { calcOptions: ((...) | (...))[] };
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        sublabel: string;
                        type: string;
                    }
                )[],
            >;
            description: string;
            namespace: string;
            run: (
                __namedParameters: {
                    configuration: {
                        session_field: string;
                        table_name: string;
                        user_field: string;
                    };
                    row?: Row & { old_session_id?: string };
                    user?: User | AbstractUser;
                },
            ) => Promise<void>;
        }
      • copy_to_clipboard: {
            configFields: {
                label: string;
                name: string;
                required: boolean;
                sublabel: string;
                type: string;
            }[];
            description: string;
            namespace: string;
            requireRow: boolean;
            run: (
                __namedParameters: {
                    configuration: { text_template?: string };
                    req?: Req;
                    row?: Row;
                    table?: Table;
                    user?: User | AbstractUser;
                    [key: string]: any;
                },
            ) => Promise<{ eval_js: string }>;
        }
        • configFields: {
              label: string;
              name: string;
              required: boolean;
              sublabel: string;
              type: string;
          }[]
        • description: string
        • namespace: string
        • requireRow: boolean
        • run: (
              __namedParameters: {
                  configuration: { text_template?: string };
                  req?: Req;
                  row?: Row;
                  table?: Table;
                  user?: User | AbstractUser;
                  [key: string]: any;
              },
          ) => Promise<{ eval_js: string }>
      • delete_rows: {
            configFields: (
                __namedParameters: any,
            ) => Promise<
                (
                    | {
                        class?: undefined;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        required?: undefined;
                        showIf?: undefined;
                        sublabel?: undefined;
                        type: string;
                    }
                    | {
                        class?: undefined;
                        input_type: string;
                        label: string;
                        name: string;
                        options: string[];
                        required?: undefined;
                        showIf: { delete_triggering_row: boolean }
                        | undefined;
                        sublabel: string;
                        type?: undefined;
                    }
                    | {
                        class: string;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        required: boolean;
                        showIf: { delete_triggering_row: boolean }
                        | undefined;
                        sublabel: string;
                        type: string;
                    }
                )[],
            >;
            description: string;
            namespace: string;
            run: (
                __namedParameters: {
                    configuration: {
                        delete_triggering_row?: boolean;
                        delete_where?: string;
                        table_name?: string;
                    };
                    row?: Row;
                    table?: Table;
                    user?: User
                    | AbstractUser;
                    [key: string]: any;
                },
            ) => Promise<{}>;
        }
        • configFields: (
              __namedParameters: any,
          ) => Promise<
              (
                  | {
                      class?: undefined;
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      required?: undefined;
                      showIf?: undefined;
                      sublabel?: undefined;
                      type: string;
                  }
                  | {
                      class?: undefined;
                      input_type: string;
                      label: string;
                      name: string;
                      options: string[];
                      required?: undefined;
                      showIf: { delete_triggering_row: boolean }
                      | undefined;
                      sublabel: string;
                      type?: undefined;
                  }
                  | {
                      class: string;
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      required: boolean;
                      showIf: { delete_triggering_row: boolean }
                      | undefined;
                      sublabel: string;
                      type: string;
                  }
              )[],
          >
        • description: string
        • namespace: string
        • run: (
              __namedParameters: {
                  configuration: {
                      delete_triggering_row?: boolean;
                      delete_where?: string;
                      table_name?: string;
                  };
                  row?: Row;
                  table?: Table;
                  user?: User
                  | AbstractUser;
                  [key: string]: any;
              },
          ) => Promise<{}>
      • download_file_to_browser: {
            configFields: (
                __namedParameters: { mode: string; table: Table },
            ) => Promise<
                | {
                    class: string;
                    label: string;
                    name: string;
                    sublabel: string;
                    type: string;
                }[]
                | {
                    attributes: { options: string[] };
                    label: string;
                    name: string;
                    required: boolean;
                    type: string;
                }[],
            >;
            description: string;
            run: (
                __namedParameters: {
                    configuration: { file_field?: string; filepath_expr?: string };
                    mode?: string;
                    row?: Row;
                    user?: User | AbstractUser;
                },
            ) => Promise<
                | {
                    download: {
                        blob: string
                        | Buffer<ArrayBufferLike>;
                        filename: string;
                        mimetype: string;
                    };
                }
                | undefined,
            >;
        }
      • Namespaceduplicate_row: {
            configFields: () => never[];
            description: string;
            disableInWorkflow: boolean;
            namespace: string;
            requireRow: boolean;
            run: (
                opts: { row: Row; table: Table; user?: User | AbstractUser },
            ) => Promise<void>;
        }

        actions

        • configFields: () => never[]
        • description: string
        • disableInWorkflow: boolean
        • namespace: string
        • requireRow: boolean
        • run: (opts: { row: Row; table: Table; user?: User | AbstractUser }) => Promise<void>
      • duplicate_row_prefill_edit: {
            configFields: (
                __namedParameters: any,
            ) => Promise<
                (
                    | { default: boolean; label: string; name: string; type: string }
                    | { input_type: string; label: string; name: string; options: string[] }
                )[],
            >;
            disableInWorkflow: boolean;
            namespace: string;
            requireRow: boolean;
            run: (
                __namedParameters: {
                    configuration: { viewname: string; [key: string]: any };
                    row: Row;
                    table: Table;
                    user?: User | AbstractUser;
                },
            ) => Promise<{ goto: string }>;
        }
      • Namespaceemit_event: {
            configFields: () => (
                | {
                    fieldview?: undefined;
                    input_type: string;
                    label: string;
                    name: string;
                    options: string[];
                    required: boolean;
                    sublabel?: undefined;
                    type?: undefined;
                }
                | {
                    fieldview: string;
                    input_type?: undefined;
                    label: string;
                    name: string;
                    options?: undefined;
                    required?: undefined;
                    sublabel?: undefined;
                    type: string;
                }
                | {
                    fieldview: string;
                    input_type?: undefined;
                    label: string;
                    name: string;
                    options?: undefined;
                    required?: undefined;
                    sublabel: string;
                    type: string;
                }
            )[];
            description: string;
            namespace: string;
            run: (
                opts: {
                    configuration: { channel?: string; eventType: string; payload?: any };
                    row: Row;
                    user?: User | AbstractUser;
                },
            ) => Promise<void>;
        }

        actions

        • configFields: () => (
              | {
                  fieldview?: undefined;
                  input_type: string;
                  label: string;
                  name: string;
                  options: string[];
                  required: boolean;
                  sublabel?: undefined;
                  type?: undefined;
              }
              | {
                  fieldview: string;
                  input_type?: undefined;
                  label: string;
                  name: string;
                  options?: undefined;
                  required?: undefined;
                  sublabel?: undefined;
                  type: string;
              }
              | {
                  fieldview: string;
                  input_type?: undefined;
                  label: string;
                  name: string;
                  options?: undefined;
                  required?: undefined;
                  sublabel: string;
                  type: string;
              }
          )[]
        • description: string
        • namespace: string
        • run: (
              opts: {
                  configuration: { channel?: string; eventType: string; payload?: any };
                  row: Row;
                  user?: User | AbstractUser;
              },
          ) => Promise<void>
      • Namespacefind_or_create_dm_room: {
            configFields: () => Promise<
                {
                    input_type: string;
                    label: string;
                    name: string;
                    options: string[];
                    sublabel: string;
                }[],
            >;
            description: string;
            namespace: string;
            run: (
                opts: {
                    configuration: { viewname: string };
                    row: Row;
                    table?: Table;
                    user: User;
                },
            ) => Promise<{ goto: string }>;
        }

        actions

        • configFields: () => Promise<
              {
                  input_type: string;
                  label: string;
                  name: string;
                  options: string[];
                  sublabel: string;
              }[],
          >
        • description: string
        • namespace: string
        • run: (
              opts: {
                  configuration: { viewname: string };
                  row: Row;
                  table?: Table;
                  user: User;
              },
          ) => Promise<{ goto: string }>
      • form_action: {
            configFields: {
                attributes: { options: string[] };
                label: string;
                name: string;
                required: boolean;
                type: string;
            }[];
            description: string;
            namespace: string;
            requireRow: boolean;
            run: (
                __namedParameters: {
                    configuration: { form_action: string };
                    req?: Req;
                    row?: Row;
                    table: Table;
                    user?: User | AbstractUser;
                    [key: string]: any;
                },
            ) => Promise<
                | {
                    eval_js: string;
                    notify_success?: undefined;
                    set_fields?: undefined;
                }
                | {
                    eval_js?: undefined;
                    notify_success: string;
                    set_fields: { [key: string]: any };
                }
                | { eval_js?: undefined; notify_success: string; set_fields?: undefined },
            >;
        }
        • configFields: {
              attributes: { options: string[] };
              label: string;
              name: string;
              required: boolean;
              type: string;
          }[]
        • description: string
        • namespace: string
        • requireRow: boolean
        • run: (
              __namedParameters: {
                  configuration: { form_action: string };
                  req?: Req;
                  row?: Row;
                  table: Table;
                  user?: User | AbstractUser;
                  [key: string]: any;
              },
          ) => Promise<
              | {
                  eval_js: string;
                  notify_success?: undefined;
                  set_fields?: undefined;
              }
              | {
                  eval_js?: undefined;
                  notify_success: string;
                  set_fields: { [key: string]: any };
              }
              | { eval_js?: undefined; notify_success: string; set_fields?: undefined },
          >
      • Namespaceinsert_any_row: {
            configFields: (
                __namedParameters: any,
            ) => Promise<
                (
                    | {
                        attributes?: undefined;
                        class?: undefined;
                        fieldview?: undefined;
                        input_type: string;
                        label: string;
                        name: string;
                        options: string[];
                        sublabel: string;
                        type?: undefined;
                    }
                    | {
                        attributes: { spellcheck: boolean };
                        class: string;
                        fieldview: string;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        sublabel: string;
                        type: string;
                    }
                    | {
                        attributes?: undefined;
                        class?: undefined;
                        fieldview?: undefined;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        sublabel: string;
                        type: string;
                    }
                )[],
            >;
            description: string;
            namespace: string;
            run: (
                opts: {
                    configuration: {
                        id_variable?: string;
                        row_expr: string;
                        table: string;
                    };
                    referrer?: string;
                    row?: Row;
                    table?: Table;
                    user?: User
                    | AbstractUser;
                    [key: string]: any;
                },
            ) => Promise<GenObj>;
        }

        actions

        • configFields: (
              __namedParameters: any,
          ) => Promise<
              (
                  | {
                      attributes?: undefined;
                      class?: undefined;
                      fieldview?: undefined;
                      input_type: string;
                      label: string;
                      name: string;
                      options: string[];
                      sublabel: string;
                      type?: undefined;
                  }
                  | {
                      attributes: { spellcheck: boolean };
                      class: string;
                      fieldview: string;
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      sublabel: string;
                      type: string;
                  }
                  | {
                      attributes?: undefined;
                      class?: undefined;
                      fieldview?: undefined;
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      sublabel: string;
                      type: string;
                  }
              )[],
          >
        • description: string
        • namespace: string
        • run: (
              opts: {
                  configuration: {
                      id_variable?: string;
                      row_expr: string;
                      table: string;
                  };
                  referrer?: string;
                  row?: Row;
                  table?: Table;
                  user?: User
                  | AbstractUser;
                  [key: string]: any;
              },
          ) => Promise<GenObj>
      • Namespaceinsert_joined_row: {
            configFields: (
                __namedParameters: any,
            ) => Promise<
                {
                    input_type: string;
                    label: string;
                    name: string;
                    options: any;
                    sublabel: string;
                }[],
            >;
            description: string;
            disableInWorkflow: boolean;
            namespace: string;
            requireRow: boolean;
            run: (
                opts: {
                    configuration: { joined_table: string };
                    row: Row;
                    table: Table;
                    user?: User | AbstractUser;
                },
            ) => Promise<any>;
        }

        actions

        • configFields: (
              __namedParameters: any,
          ) => Promise<
              {
                  input_type: string;
                  label: string;
                  name: string;
                  options: any;
                  sublabel: string;
              }[],
          >
        • description: string
        • disableInWorkflow: boolean
        • namespace: string
        • requireRow: boolean
        • run: (
              opts: {
                  configuration: { joined_table: string };
                  row: Row;
                  table: Table;
                  user?: User | AbstractUser;
              },
          ) => Promise<any>
      • install_progressive_web_app: {
            configFields: () => never[];
            description: string;
            run: (
                __namedParameters: { req: Req },
            ) => Promise<
                | { error?: undefined; eval_js: string }
                | { error: string; eval_js?: undefined },
            >;
        }
      • loop_rows: {
            configFields: () => Promise<
                (
                    | {
                        attributes?: undefined;
                        input_type: string;
                        label: string;
                        name: string;
                        options: string[];
                        sublabel: string;
                        type?: undefined;
                    }
                    | {
                        attributes: {
                            calcOptions?: undefined;
                            expression_type: string;
                            min?: undefined;
                            mode: string;
                            singleline: boolean;
                        };
                        input_type: string;
                        label: string;
                        name: string;
                        options?: undefined;
                        sublabel: string;
                        type?: undefined;
                    }
                    | {
                        attributes?: undefined;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        sublabel: string;
                        type: string;
                    }
                    | {
                        attributes: {
                            calcOptions: ((...) | (...))[];
                            expression_type?: undefined;
                            min?: undefined;
                            mode?: undefined;
                            singleline?: undefined;
                        };
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        sublabel?: undefined;
                        type: string;
                    }
                    | {
                        attributes?: undefined;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        sublabel?: undefined;
                        type: string;
                    }
                    | {
                        attributes: {
                            calcOptions?: undefined;
                            expression_type?: undefined;
                            min: number;
                            mode?: undefined;
                            singleline?: undefined;
                        };
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        sublabel: string;
                        type: string;
                    }
                    | {
                        attributes?: undefined;
                        input_type: string;
                        label: string;
                        name: string;
                        options: { label: (...)
                        | (...); value: (...) | (...) | (...) }[];
                        sublabel: string;
                        type?: undefined;
                    }
                )[],
            >;
            description: string;
            namespace: string;
            run: (
                opts: {
                    configuration: {
                        interval?: number;
                        limit?: number;
                        orderBy?: string;
                        orderDesc?: boolean;
                        table_name: string;
                        trigger_id?: number;
                        where?: Where;
                    };
                    row: Row;
                    user?: User
                    | AbstractUser;
                    [key: string]: unknown;
                },
            ) => Promise<{}>;
        }
        • configFields: () => Promise<
              (
                  | {
                      attributes?: undefined;
                      input_type: string;
                      label: string;
                      name: string;
                      options: string[];
                      sublabel: string;
                      type?: undefined;
                  }
                  | {
                      attributes: {
                          calcOptions?: undefined;
                          expression_type: string;
                          min?: undefined;
                          mode: string;
                          singleline: boolean;
                      };
                      input_type: string;
                      label: string;
                      name: string;
                      options?: undefined;
                      sublabel: string;
                      type?: undefined;
                  }
                  | {
                      attributes?: undefined;
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      sublabel: string;
                      type: string;
                  }
                  | {
                      attributes: {
                          calcOptions: ((...) | (...))[];
                          expression_type?: undefined;
                          min?: undefined;
                          mode?: undefined;
                          singleline?: undefined;
                      };
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      sublabel?: undefined;
                      type: string;
                  }
                  | {
                      attributes?: undefined;
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      sublabel?: undefined;
                      type: string;
                  }
                  | {
                      attributes: {
                          calcOptions?: undefined;
                          expression_type?: undefined;
                          min: number;
                          mode?: undefined;
                          singleline?: undefined;
                      };
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      sublabel: string;
                      type: string;
                  }
                  | {
                      attributes?: undefined;
                      input_type: string;
                      label: string;
                      name: string;
                      options: { label: (...)
                      | (...); value: (...) | (...) | (...) }[];
                      sublabel: string;
                      type?: undefined;
                  }
              )[],
          >
        • description: string
        • namespace: string
        • run: (
              opts: {
                  configuration: {
                      interval?: number;
                      limit?: number;
                      orderBy?: string;
                      orderDesc?: boolean;
                      table_name: string;
                      trigger_id?: number;
                      where?: Where;
                  };
                  row: Row;
                  user?: User
                  | AbstractUser;
                  [key: string]: unknown;
              },
          ) => Promise<{}>
      • Namespacemodify_row: {
            configFields: (
                __namedParameters: { mode: string; when_trigger: string },
            ) => Promise<
                (
                    | {
                        attributes: {
                            compact: boolean;
                            expression_type: string;
                            mode: string;
                            options?: undefined;
                            showIf?: undefined;
                            singleline?: undefined;
                        };
                        input_type: string;
                        label: string;
                        name: string;
                        required?: undefined;
                        showIf?: undefined;
                        sublabel: string;
                        type?: undefined;
                    }
                    | {
                        attributes: {
                            compact?: undefined;
                            expression_type?: undefined;
                            mode?: undefined;
                            options: string[];
                            showIf?: undefined;
                            singleline?: undefined;
                        };
                        input_type?: undefined;
                        label: string;
                        name: string;
                        required: boolean;
                        showIf?: undefined;
                        sublabel?: undefined;
                        type: string;
                    }
                    | {
                        attributes: {
                            compact?: undefined;
                            expression_type?: undefined;
                            mode?: undefined;
                            options: string[];
                            showIf: { where: string };
                            singleline?: undefined;
                        };
                        input_type?: undefined;
                        label: string;
                        name: string;
                        required: boolean;
                        showIf?: undefined;
                        sublabel?: undefined;
                        type: string;
                    }
                    | {
                        attributes: {
                            compact?: undefined;
                            expression_type: string;
                            mode: string;
                            options?: undefined;
                            showIf?: undefined;
                            singleline: boolean;
                        };
                        input_type: string;
                        label: string;
                        name: string;
                        required: boolean;
                        showIf: { where: string };
                        sublabel?: undefined;
                        type?: undefined;
                    }
                )[],
            >;
            description: string;
            namespace: string;
            requireRow: boolean;
            run: (
                __namedParameters: {
                    configuration: {
                        query?: string;
                        row_expr: string;
                        select_table?: string;
                        where?: string;
                    };
                    row?: Row;
                    table?: Table;
                    user?: User
                    | AbstractUser;
                    [key: string]: any;
                },
            ) => Promise<
                ErrorMessage
                | SuccessMessage
                | { set_fields: any }
                | undefined,
            >;
        }

        actions

      • Namespacenavigate: {
            configFields: () => Promise<
                (
                    | {
                        attributes: { options: string[] };
                        class?: undefined;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        required: boolean;
                        showIf?: undefined;
                        type: string;
                    }
                    | {
                        attributes?: undefined;
                        class?: undefined;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        required: boolean;
                        showIf: { nav_action: string[] };
                        type: string;
                    }
                    | {
                        attributes?: undefined;
                        class?: undefined;
                        input_type: string;
                        label: string;
                        name: string;
                        options: string[];
                        required?: undefined;
                        showIf: { nav_action: string };
                        type?: undefined;
                    }
                    | {
                        attributes?: undefined;
                        class: string;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        required?: undefined;
                        showIf: { nav_action: string[] };
                        type: string;
                    }
                    | {
                        attributes?: undefined;
                        class?: undefined;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        required?: undefined;
                        showIf: { nav_action: string[] };
                        type: string;
                    }
                )[],
            >;
            description: string;
            namespace: string;
            run: (
                __namedParameters: {
                    configuration: {
                        in_popup?: boolean;
                        nav_action: string;
                        new_tab?: boolean;
                        page?: string;
                        state_formula?: string;
                        url?: string;
                        view?: string;
                    };
                    req?: Req;
                    row?: Row;
                    user?: User
                    | AbstractUser;
                },
            ) => Promise<
                | {
                    eval_js?: undefined;
                    popup?: undefined;
                    reload_page?: undefined;
                    target?: string;
                }
                | { eval_js?: undefined; popup: any; reload_page?: undefined }
                | { eval_js: string; popup?: undefined; reload_page?: undefined }
                | { eval_js?: undefined; popup?: undefined; reload_page: boolean }
                | undefined,
            >;
        }

        actions

        • configFields: () => Promise<
              (
                  | {
                      attributes: { options: string[] };
                      class?: undefined;
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      required: boolean;
                      showIf?: undefined;
                      type: string;
                  }
                  | {
                      attributes?: undefined;
                      class?: undefined;
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      required: boolean;
                      showIf: { nav_action: string[] };
                      type: string;
                  }
                  | {
                      attributes?: undefined;
                      class?: undefined;
                      input_type: string;
                      label: string;
                      name: string;
                      options: string[];
                      required?: undefined;
                      showIf: { nav_action: string };
                      type?: undefined;
                  }
                  | {
                      attributes?: undefined;
                      class: string;
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      required?: undefined;
                      showIf: { nav_action: string[] };
                      type: string;
                  }
                  | {
                      attributes?: undefined;
                      class?: undefined;
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      required?: undefined;
                      showIf: { nav_action: string[] };
                      type: string;
                  }
              )[],
          >
        • description: string
        • namespace: string
        • run: (
              __namedParameters: {
                  configuration: {
                      in_popup?: boolean;
                      nav_action: string;
                      new_tab?: boolean;
                      page?: string;
                      state_formula?: string;
                      url?: string;
                      view?: string;
                  };
                  req?: Req;
                  row?: Row;
                  user?: User
                  | AbstractUser;
              },
          ) => Promise<
              | {
                  eval_js?: undefined;
                  popup?: undefined;
                  reload_page?: undefined;
                  target?: string;
              }
              | { eval_js?: undefined; popup: any; reload_page?: undefined }
              | { eval_js: string; popup?: undefined; reload_page?: undefined }
              | { eval_js?: undefined; popup?: undefined; reload_page: boolean }
              | undefined,
          >
      • notify_user: {
            configFields: () => (
                | { label: string; name: string; required?: undefined; type: string }
                | { label: string; name: string; required: boolean; type: string }
            )[];
            description: string;
            namespace: string;
            run: (
                opts: {
                    configuration: {
                        body?: string;
                        link?: string;
                        title: string;
                        user_spec: string | number | GenObj;
                    };
                    row?: Row;
                    user?: User
                    | AbstractUser;
                },
            ) => Promise<void>;
        }
        • configFields: () => (
              | { label: string; name: string; required?: undefined; type: string }
              | { label: string; name: string; required: boolean; type: string }
          )[]
        • description: string
        • namespace: string
        • run: (
              opts: {
                  configuration: {
                      body?: string;
                      link?: string;
                      title: string;
                      user_spec: string | number | GenObj;
                  };
                  row?: Row;
                  user?: User
                  | AbstractUser;
              },
          ) => Promise<void>
      • progress_bar: {
            configFields: (
                | {
                    class?: undefined;
                    label: string;
                    name: string;
                    required?: undefined;
                    showIf?: undefined;
                    sublabel: string;
                    type: string;
                }
                | {
                    class: string;
                    label: string;
                    name: string;
                    required: boolean;
                    showIf: { blocking: boolean; close?: undefined };
                    sublabel: string;
                    type: string;
                }
                | {
                    class?: undefined;
                    label: string;
                    name: string;
                    required?: undefined;
                    showIf: { blocking: boolean; close: boolean };
                    sublabel: string;
                    type: string;
                }
                | {
                    class?: undefined;
                    label: string;
                    name: string;
                    required?: undefined;
                    showIf: { blocking: boolean; close: boolean };
                    sublabel?: undefined;
                    type: string;
                }
                | {
                    class?: undefined;
                    label: string;
                    name: string;
                    required?: undefined;
                    showIf: { blocking?: undefined; close: boolean };
                    sublabel?: undefined;
                    type: string;
                }
                | {
                    class?: undefined;
                    label: string;
                    name: string;
                    required?: undefined;
                    showIf: { blocking?: undefined; close: boolean };
                    sublabel: string;
                    type: string;
                }
            )[];
            description: string;
            namespace: string;
            run: (
                __namedParameters: {
                    configuration: {
                        blocking?: boolean;
                        close?: boolean;
                        id?: string;
                        maxHeight?: string;
                        message?: string;
                        percent?: string;
                        popupWidth?: string;
                        title?: string;
                    };
                    req?: Req;
                    row?: Row;
                    user?: User
                    | AbstractUser;
                },
            ) => Promise<
                {
                    page_load_tag: any;
                    progress_bar_update: {
                        blocking: boolean
                        | undefined;
                        close: boolean | undefined;
                        id: any;
                        maxHeight: string | undefined;
                        message: any;
                        percent: number;
                        popupWidth: string | undefined;
                        title: any;
                    };
                },
            >;
        }
      • Namespacerecalculate_stored_fields: {
            configFields: (
                __namedParameters: any,
            ) => Promise<
                (
                    | {
                        attributes?: undefined;
                        input_type: string;
                        label: string;
                        name: string;
                        options: string[];
                        showIf?: undefined;
                        sublabel: string;
                        type?: undefined;
                    }
                    | {
                        attributes?: undefined;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        showIf: { table: any }
                        | { table?: undefined };
                        sublabel?: undefined;
                        type: string;
                    }
                    | {
                        attributes: {
                            expression_type: string;
                            mode: string;
                            singleline: boolean;
                        };
                        input_type: string;
                        label: string;
                        name: string;
                        options?: undefined;
                        showIf?: undefined;
                        sublabel: string;
                        type?: undefined;
                    }
                )[],
            >;
            description: string;
            namespace: string;
            run: (
                opts: {
                    configuration: {
                        only_triggering_row?: boolean;
                        table: string;
                        where?: string;
                    };
                    row?: Row;
                    table?: Table;
                    user?: User
                    | AbstractUser;
                },
            ) => Promise<{ error: string } | undefined>;
        }

        actions

        • configFields: (
              __namedParameters: any,
          ) => Promise<
              (
                  | {
                      attributes?: undefined;
                      input_type: string;
                      label: string;
                      name: string;
                      options: string[];
                      showIf?: undefined;
                      sublabel: string;
                      type?: undefined;
                  }
                  | {
                      attributes?: undefined;
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      showIf: { table: any }
                      | { table?: undefined };
                      sublabel?: undefined;
                      type: string;
                  }
                  | {
                      attributes: {
                          expression_type: string;
                          mode: string;
                          singleline: boolean;
                      };
                      input_type: string;
                      label: string;
                      name: string;
                      options?: undefined;
                      showIf?: undefined;
                      sublabel: string;
                      type?: undefined;
                  }
              )[],
          >
        • description: string
        • namespace: string
        • run: (
              opts: {
                  configuration: {
                      only_triggering_row?: boolean;
                      table: string;
                      where?: string;
                  };
                  row?: Row;
                  table?: Table;
                  user?: User
                  | AbstractUser;
              },
          ) => Promise<{ error: string } | undefined>
      • refresh_user_session: {
            description: string;
            namespace: string;
            run: (__namedParameters: { req: Req; user?: User }) => Promise<void>;
        }
      • reload_embedded_view: {
            configFields: () => Promise<
                (
                    | {
                        attributes: { options: any[] };
                        class: string;
                        label: string;
                        name: string;
                        required: boolean;
                        sublabel?: undefined;
                        type: string;
                    }
                    | {
                        attributes?: undefined;
                        class: string;
                        label: string;
                        name: string;
                        required?: undefined;
                        sublabel?: undefined;
                        type: string;
                    }
                    | {
                        attributes?: undefined;
                        class?: undefined;
                        label: string;
                        name: string;
                        required?: undefined;
                        sublabel: string;
                        type: string;
                    }
                )[],
            >;
            description: string;
            namespace: string;
            run: (
                __namedParameters: {
                    configuration: {
                        interval?: number;
                        new_state_fml?: string;
                        view: string;
                    };
                    row?: Row;
                    user?: User
                    | AbstractUser;
                },
            ) => Promise<{ eval_js: string }>;
        }
      • Namespacerun_js_code: {
            configFields: (
                __namedParameters: any,
            ) => Promise<
                (
                    | {
                        attributes: {
                            mode: string;
                            secondColHoriz?: undefined;
                            table: any;
                            user: string
                            | undefined;
                            workflow: boolean;
                        };
                        class: string;
                        help?: undefined;
                        input_type: string;
                        label: string;
                        name: string;
                        options?: undefined;
                        showIf?: undefined;
                        sublabel?: undefined;
                        validator(s: any): any;
                    }
                    | {
                        attributes: {
                            mode?: undefined;
                            secondColHoriz: boolean;
                            table?: undefined;
                            user?: undefined;
                            workflow?: undefined;
                        };
                        class?: undefined;
                        help: { topic: string };
                        input_type: string;
                        label: string;
                        name?: undefined;
                        options?: undefined;
                        showIf: { run_where: string };
                        sublabel: any;
                        validator?: undefined;
                    }
                    | {
                        attributes?: undefined;
                        class?: undefined;
                        help?: undefined;
                        input_type: string;
                        label: string;
                        name: string;
                        options: string[];
                        showIf?: undefined;
                        sublabel?: undefined;
                        validator?: undefined;
                    }
                )[],
            >;
            configFormOptions: { formStyle: string };
            configuration_summary: (cfg?: GenObj) => string;
            description: string;
            namespace: string;
            run: (
                opts: {
                    channel?: string;
                    configuration: { code: string; run_where: string };
                    row?: Row;
                    table?: Table;
                    user?: User | AbstractUser;
                    [key: string]: any;
                },
            ) => Promise<any>;
        }

        actions

        • configFields: (
              __namedParameters: any,
          ) => Promise<
              (
                  | {
                      attributes: {
                          mode: string;
                          secondColHoriz?: undefined;
                          table: any;
                          user: string
                          | undefined;
                          workflow: boolean;
                      };
                      class: string;
                      help?: undefined;
                      input_type: string;
                      label: string;
                      name: string;
                      options?: undefined;
                      showIf?: undefined;
                      sublabel?: undefined;
                      validator(s: any): any;
                  }
                  | {
                      attributes: {
                          mode?: undefined;
                          secondColHoriz: boolean;
                          table?: undefined;
                          user?: undefined;
                          workflow?: undefined;
                      };
                      class?: undefined;
                      help: { topic: string };
                      input_type: string;
                      label: string;
                      name?: undefined;
                      options?: undefined;
                      showIf: { run_where: string };
                      sublabel: any;
                      validator?: undefined;
                  }
                  | {
                      attributes?: undefined;
                      class?: undefined;
                      help?: undefined;
                      input_type: string;
                      label: string;
                      name: string;
                      options: string[];
                      showIf?: undefined;
                      sublabel?: undefined;
                      validator?: undefined;
                  }
              )[],
          >
        • configFormOptions: { formStyle: string }
        • configuration_summary: (cfg?: GenObj) => string
        • description: string
        • namespace: string
        • run: (
              opts: {
                  channel?: string;
                  configuration: { code: string; run_where: string };
                  row?: Row;
                  table?: Table;
                  user?: User | AbstractUser;
                  [key: string]: any;
              },
          ) => Promise<any>

          base-plugin/actions~run_code

      • run_js_code_in_field: {
            configFields: (
                __namedParameters: { mode: string; table: Table },
            ) => Promise<
                | (
                    | {
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        required: boolean;
                        sublabel: string;
                        type: string;
                    }
                    | {
                        input_type: string;
                        label: string;
                        name: string;
                        options: string[];
                        required?: undefined;
                        sublabel?: undefined;
                        type?: undefined;
                    }
                )[]
                | (
                    | {
                        attributes: { options: (...)[] };
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        required: boolean;
                        sublabel: string;
                        type: string;
                    }
                    | {
                        attributes?: undefined;
                        input_type: string;
                        label: string;
                        name: string;
                        options: string[];
                        required?: undefined;
                        sublabel?: undefined;
                        type?: undefined;
                    }
                )[],
            >;
            configuration_summary: (cfg?: GenObj) => string;
            description: string;
            namespace: string;
            requireRow: boolean;
            run: (
                __namedParameters: {
                    configuration: { code_field: string; run_where?: string };
                    mode?: string;
                    row: Row;
                    table: Table;
                    [key: string]: any;
                },
            ) => Promise<any>;
        }
        • configFields: (
              __namedParameters: { mode: string; table: Table },
          ) => Promise<
              | (
                  | {
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      required: boolean;
                      sublabel: string;
                      type: string;
                  }
                  | {
                      input_type: string;
                      label: string;
                      name: string;
                      options: string[];
                      required?: undefined;
                      sublabel?: undefined;
                      type?: undefined;
                  }
              )[]
              | (
                  | {
                      attributes: { options: (...)[] };
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      required: boolean;
                      sublabel: string;
                      type: string;
                  }
                  | {
                      attributes?: undefined;
                      input_type: string;
                      label: string;
                      name: string;
                      options: string[];
                      required?: undefined;
                      sublabel?: undefined;
                      type?: undefined;
                  }
              )[],
          >
        • configuration_summary: (cfg?: GenObj) => string
        • description: string
        • namespace: string
        • requireRow: boolean
        • run: (
              __namedParameters: {
                  configuration: { code_field: string; run_where?: string };
                  mode?: string;
                  row: Row;
                  table: Table;
                  [key: string]: any;
              },
          ) => Promise<any>

          base-plugin/actions~run_code

      • Namespacesend_email: {
            configFields: (
                __namedParameters: { mode?: string; table?: Table },
            ) => Promise<
                | (
                    | {
                        fieldview?: undefined;
                        label: string;
                        name: string;
                        required?: undefined;
                        sublabel: string;
                        type: string;
                    }
                    | {
                        fieldview?: undefined;
                        label: string;
                        name: string;
                        required: boolean;
                        sublabel: string;
                        type: string;
                    }
                    | {
                        fieldview: string;
                        label: string;
                        name: string;
                        required: boolean;
                        sublabel?: undefined;
                        type: string;
                    }
                )[]
                | (
                    | {
                        attributes: { options: (...)[] };
                        class?: undefined;
                        default?: undefined;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        required: boolean;
                        showIf?: undefined;
                        sublabel?: undefined;
                        type: string;
                    }
                    | {
                        attributes: { options: (...)[] };
                        class?: undefined;
                        default?: undefined;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        required: boolean;
                        showIf: { body_type: (...)[]; to_email?: undefined };
                        sublabel?: undefined;
                        type: string;
                    }
                    | {
                        attributes?: undefined;
                        class?: undefined;
                        default?: undefined;
                        input_type: string;
                        label: string;
                        name: string;
                        options: string[];
                        required?: undefined;
                        showIf: { body_type: string; to_email?: undefined };
                        sublabel: string;
                        type?: undefined;
                    }
                    | {
                        attributes?: undefined;
                        class?: undefined;
                        default?: undefined;
                        input_type: string;
                        label: string;
                        name: string;
                        options: string[];
                        required: boolean;
                        showIf?: undefined;
                        sublabel: string;
                        type?: undefined;
                    }
                    | {
                        attributes?: undefined;
                        class?: undefined;
                        default?: undefined;
                        input_type: string;
                        label: string;
                        name: string;
                        options: string[];
                        required?: undefined;
                        showIf: { body_type?: undefined; to_email: string };
                        sublabel: string;
                        type?: undefined;
                    }
                    | {
                        attributes?: undefined;
                        class?: undefined;
                        default?: undefined;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        required?: undefined;
                        showIf: { body_type?: undefined; to_email: string };
                        sublabel: string;
                        type: string;
                    }
                    | {
                        attributes?: undefined;
                        class?: undefined;
                        default?: undefined;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        required?: undefined;
                        showIf?: undefined;
                        sublabel: string;
                        type: string;
                    }
                    | {
                        attributes?: undefined;
                        class: string;
                        default?: undefined;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        required: boolean;
                        showIf?: undefined;
                        sublabel: string;
                        type: string;
                    }
                    | {
                        attributes?: undefined;
                        class?: undefined;
                        default?: undefined;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        required: boolean;
                        showIf?: undefined;
                        sublabel?: undefined;
                        type: string;
                    }
                    | {
                        attributes?: undefined;
                        class?: undefined;
                        default: string;
                        input_type: string;
                        label: string;
                        name: string;
                        options: string[];
                        required?: undefined;
                        showIf?: undefined;
                        sublabel: string;
                        type: string;
                    }
                    | {
                        attributes?: undefined;
                        class?: undefined;
                        default?: undefined;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        required?: undefined;
                        showIf?: undefined;
                        sublabel?: undefined;
                        type: string;
                    }
                    | {
                        attributes: { options: (...)[] };
                        class?: undefined;
                        default?: undefined;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        required?: undefined;
                        showIf?: undefined;
                        sublabel: string;
                        type: string;
                    }
                )[],
            >;
            description: string;
            namespace: string;
            requireRow: boolean;
            run: (
                opts: {
                    configuration: {
                        attachment_path?: string;
                        bcc_email?: string;
                        body?: string;
                        body_field?: string;
                        body_type?: string;
                        cc_email?: string;
                        confirm_field?: string;
                        disable_notify?: boolean;
                        locale?: string;
                        only_if?: string;
                        subject?: string;
                        subject_formula?: string;
                        to_email: string;
                        to_email_field?: string;
                        to_email_fixed?: string;
                        viewname?: string;
                    };
                    mode: string;
                    row: Row;
                    table: Table;
                    user: User;
                },
            ) => Promise<
                | { notify?: undefined; [key: string]: boolean }
                | { notify: string }
                | undefined,
            >;
        }

        actions

        • configFields: (
              __namedParameters: { mode?: string; table?: Table },
          ) => Promise<
              | (
                  | {
                      fieldview?: undefined;
                      label: string;
                      name: string;
                      required?: undefined;
                      sublabel: string;
                      type: string;
                  }
                  | {
                      fieldview?: undefined;
                      label: string;
                      name: string;
                      required: boolean;
                      sublabel: string;
                      type: string;
                  }
                  | {
                      fieldview: string;
                      label: string;
                      name: string;
                      required: boolean;
                      sublabel?: undefined;
                      type: string;
                  }
              )[]
              | (
                  | {
                      attributes: { options: (...)[] };
                      class?: undefined;
                      default?: undefined;
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      required: boolean;
                      showIf?: undefined;
                      sublabel?: undefined;
                      type: string;
                  }
                  | {
                      attributes: { options: (...)[] };
                      class?: undefined;
                      default?: undefined;
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      required: boolean;
                      showIf: { body_type: (...)[]; to_email?: undefined };
                      sublabel?: undefined;
                      type: string;
                  }
                  | {
                      attributes?: undefined;
                      class?: undefined;
                      default?: undefined;
                      input_type: string;
                      label: string;
                      name: string;
                      options: string[];
                      required?: undefined;
                      showIf: { body_type: string; to_email?: undefined };
                      sublabel: string;
                      type?: undefined;
                  }
                  | {
                      attributes?: undefined;
                      class?: undefined;
                      default?: undefined;
                      input_type: string;
                      label: string;
                      name: string;
                      options: string[];
                      required: boolean;
                      showIf?: undefined;
                      sublabel: string;
                      type?: undefined;
                  }
                  | {
                      attributes?: undefined;
                      class?: undefined;
                      default?: undefined;
                      input_type: string;
                      label: string;
                      name: string;
                      options: string[];
                      required?: undefined;
                      showIf: { body_type?: undefined; to_email: string };
                      sublabel: string;
                      type?: undefined;
                  }
                  | {
                      attributes?: undefined;
                      class?: undefined;
                      default?: undefined;
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      required?: undefined;
                      showIf: { body_type?: undefined; to_email: string };
                      sublabel: string;
                      type: string;
                  }
                  | {
                      attributes?: undefined;
                      class?: undefined;
                      default?: undefined;
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      required?: undefined;
                      showIf?: undefined;
                      sublabel: string;
                      type: string;
                  }
                  | {
                      attributes?: undefined;
                      class: string;
                      default?: undefined;
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      required: boolean;
                      showIf?: undefined;
                      sublabel: string;
                      type: string;
                  }
                  | {
                      attributes?: undefined;
                      class?: undefined;
                      default?: undefined;
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      required: boolean;
                      showIf?: undefined;
                      sublabel?: undefined;
                      type: string;
                  }
                  | {
                      attributes?: undefined;
                      class?: undefined;
                      default: string;
                      input_type: string;
                      label: string;
                      name: string;
                      options: string[];
                      required?: undefined;
                      showIf?: undefined;
                      sublabel: string;
                      type: string;
                  }
                  | {
                      attributes?: undefined;
                      class?: undefined;
                      default?: undefined;
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      required?: undefined;
                      showIf?: undefined;
                      sublabel?: undefined;
                      type: string;
                  }
                  | {
                      attributes: { options: (...)[] };
                      class?: undefined;
                      default?: undefined;
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      required?: undefined;
                      showIf?: undefined;
                      sublabel: string;
                      type: string;
                  }
              )[],
          >
        • description: string
        • namespace: string
        • requireRow: boolean
        • run: (
              opts: {
                  configuration: {
                      attachment_path?: string;
                      bcc_email?: string;
                      body?: string;
                      body_field?: string;
                      body_type?: string;
                      cc_email?: string;
                      confirm_field?: string;
                      disable_notify?: boolean;
                      locale?: string;
                      only_if?: string;
                      subject?: string;
                      subject_formula?: string;
                      to_email: string;
                      to_email_field?: string;
                      to_email_fixed?: string;
                      viewname?: string;
                  };
                  mode: string;
                  row: Row;
                  table: Table;
                  user: User;
              },
          ) => Promise<
              | { notify?: undefined; [key: string]: boolean }
              | { notify: string }
              | undefined,
          >
      • Namespaceset_user_language: {
            configFields: (
                __namedParameters: any,
            ) => Promise<
                {
                    attributes: { options: { label: unknown; name: string }[] };
                    name: string;
                    required: boolean;
                    type: string;
                }[],
            >;
            description: string;
            namespace: string;
            run: (
                __namedParameters: {
                    configuration: { language: string };
                    req: Req;
                    res?: Res;
                    user?: User | AbstractUser;
                },
            ) => Promise<{ reload_page: boolean }>;
        }

        actions

      • sleep: {
            configFields: (
                | {
                    input_type?: undefined;
                    label: string;
                    name: string;
                    options?: undefined;
                    required: boolean;
                    type: string;
                }
                | {
                    input_type: string;
                    label: string;
                    name: string;
                    options: string[];
                    required?: undefined;
                    type?: undefined;
                }
            )[];
            description: string;
            namespace: string;
            run: (
                __namedParameters: {
                    configuration: { seconds?: number; sleep_where?: string };
                },
            ) => Promise<{ eval_js: string } | undefined>;
        }
      • step_control_flow: {
            configFields: (
                | {
                    attributes: { options: string[] };
                    label: string;
                    name: string;
                    required: boolean;
                    showIf?: undefined;
                    type: string;
                }
                | {
                    attributes?: undefined;
                    label: string;
                    name: string;
                    required: boolean;
                    showIf: { control_action: string[] };
                    type: string;
                }
            )[];
            description: string;
            disableInWorkflow: boolean;
            namespace: string;
            run: (
                __namedParameters: {
                    configuration: { control_action: string; step?: string };
                    row?: Row;
                    user?: User | AbstractUser;
                },
            ) => Promise<
                | {
                    clear_return_values?: undefined;
                    goto_step?: undefined;
                    halt_steps: boolean;
                }
                | {
                    clear_return_values?: undefined;
                    goto_step: string
                    | undefined;
                    halt_steps?: undefined;
                }
                | {
                    clear_return_values: boolean;
                    goto_step?: undefined;
                    halt_steps?: undefined;
                }
                | undefined,
            >;
        }
        • configFields: (
              | {
                  attributes: { options: string[] };
                  label: string;
                  name: string;
                  required: boolean;
                  showIf?: undefined;
                  type: string;
              }
              | {
                  attributes?: undefined;
                  label: string;
                  name: string;
                  required: boolean;
                  showIf: { control_action: string[] };
                  type: string;
              }
          )[]
        • description: string
        • disableInWorkflow: boolean
        • namespace: string
        • run: (
              __namedParameters: {
                  configuration: { control_action: string; step?: string };
                  row?: Row;
                  user?: User | AbstractUser;
              },
          ) => Promise<
              | {
                  clear_return_values?: undefined;
                  goto_step?: undefined;
                  halt_steps: boolean;
              }
              | {
                  clear_return_values?: undefined;
                  goto_step: string
                  | undefined;
                  halt_steps?: undefined;
              }
              | {
                  clear_return_values: boolean;
                  goto_step?: undefined;
                  halt_steps?: undefined;
              }
              | undefined,
          >
      • Namespacesync_table_from_external: {
            configFields: (
                __namedParameters: any,
            ) => Promise<
                (
                    | {
                        attributes?: undefined;
                        default?: undefined;
                        fieldview?: undefined;
                        input_type: string;
                        label: string;
                        name: string;
                        options: string[];
                        required?: undefined;
                        showIf?: undefined;
                        sublabel: string;
                        type?: undefined;
                    }
                    | {
                        attributes: {
                            calcOptions?: undefined;
                            expression_type: string;
                            mode: string;
                            singleline: boolean;
                        };
                        default?: undefined;
                        fieldview?: undefined;
                        input_type: string;
                        label: string;
                        name: string;
                        options?: undefined;
                        required?: undefined;
                        showIf?: undefined;
                        sublabel: string;
                        type?: undefined;
                    }
                    | {
                        attributes: {
                            calcOptions: ((...) | (...))[];
                            expression_type?: undefined;
                            mode?: undefined;
                            singleline?: undefined;
                        };
                        default?: undefined;
                        fieldview?: undefined;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        required: boolean;
                        showIf?: undefined;
                        sublabel: string;
                        type: string;
                    }
                    | {
                        attributes?: undefined;
                        default: boolean;
                        fieldview?: undefined;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        required?: undefined;
                        showIf?: undefined;
                        sublabel: string;
                        type: string;
                    }
                    | {
                        attributes?: undefined;
                        default?: undefined;
                        fieldview: string;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        required?: undefined;
                        showIf: { match_field_names: boolean };
                        sublabel: string;
                        type: string;
                    }
                )[],
            >;
            description: string;
            namespace: string;
            run: (
                opts: {
                    configuration: {
                        delete_rows?: boolean;
                        match_field_names?: boolean;
                        pk_field?: string;
                        row_expr?: string;
                        table_dest: string;
                        table_src: string;
                        where?: string;
                    };
                    user?: User
                    | AbstractUser;
                    [key: string]: any;
                },
            ) => Promise<{ error: string } | undefined>;
        }

        actions

        • configFields: (
              __namedParameters: any,
          ) => Promise<
              (
                  | {
                      attributes?: undefined;
                      default?: undefined;
                      fieldview?: undefined;
                      input_type: string;
                      label: string;
                      name: string;
                      options: string[];
                      required?: undefined;
                      showIf?: undefined;
                      sublabel: string;
                      type?: undefined;
                  }
                  | {
                      attributes: {
                          calcOptions?: undefined;
                          expression_type: string;
                          mode: string;
                          singleline: boolean;
                      };
                      default?: undefined;
                      fieldview?: undefined;
                      input_type: string;
                      label: string;
                      name: string;
                      options?: undefined;
                      required?: undefined;
                      showIf?: undefined;
                      sublabel: string;
                      type?: undefined;
                  }
                  | {
                      attributes: {
                          calcOptions: ((...) | (...))[];
                          expression_type?: undefined;
                          mode?: undefined;
                          singleline?: undefined;
                      };
                      default?: undefined;
                      fieldview?: undefined;
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      required: boolean;
                      showIf?: undefined;
                      sublabel: string;
                      type: string;
                  }
                  | {
                      attributes?: undefined;
                      default: boolean;
                      fieldview?: undefined;
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      required?: undefined;
                      showIf?: undefined;
                      sublabel: string;
                      type: string;
                  }
                  | {
                      attributes?: undefined;
                      default?: undefined;
                      fieldview: string;
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      required?: undefined;
                      showIf: { match_field_names: boolean };
                      sublabel: string;
                      type: string;
                  }
              )[],
          >
        • description: string
        • namespace: string
        • run: (
              opts: {
                  configuration: {
                      delete_rows?: boolean;
                      match_field_names?: boolean;
                      pk_field?: string;
                      row_expr?: string;
                      table_dest: string;
                      table_src: string;
                      where?: string;
                  };
                  user?: User
                  | AbstractUser;
                  [key: string]: any;
              },
          ) => Promise<{ error: string } | undefined>
      • toast: {
            configFields: (
                | {
                    attributes: { options: string[] };
                    label: string;
                    name: string;
                    required: boolean;
                    sublabel?: undefined;
                    type: string;
                }
                | {
                    attributes?: undefined;
                    label: string;
                    name: string;
                    required: boolean;
                    sublabel?: undefined;
                    type: string;
                }
                | {
                    attributes?: undefined;
                    label: string;
                    name: string;
                    required?: undefined;
                    sublabel: string;
                    type: string;
                }
                | {
                    attributes?: undefined;
                    label: string;
                    name: string;
                    required?: undefined;
                    sublabel?: undefined;
                    type: string;
                }
            )[];
            description: string;
            namespace: string;
            run: (
                __namedParameters: {
                    configuration: {
                        notify_type?: string;
                        remove_delay?: number;
                        text: string;
                        title?: string;
                        type?: string;
                    };
                    row?: Row;
                    user?: User
                    | AbstractUser;
                },
            ) => Promise<
                | { error: any }
                | { notify_success: any }
                | { notify: any; notify_type: string }
                | { notify: any },
            >;
        }
        • configFields: (
              | {
                  attributes: { options: string[] };
                  label: string;
                  name: string;
                  required: boolean;
                  sublabel?: undefined;
                  type: string;
              }
              | {
                  attributes?: undefined;
                  label: string;
                  name: string;
                  required: boolean;
                  sublabel?: undefined;
                  type: string;
              }
              | {
                  attributes?: undefined;
                  label: string;
                  name: string;
                  required?: undefined;
                  sublabel: string;
                  type: string;
              }
              | {
                  attributes?: undefined;
                  label: string;
                  name: string;
                  required?: undefined;
                  sublabel?: undefined;
                  type: string;
              }
          )[]
        • description: string
        • namespace: string
        • run: (
              __namedParameters: {
                  configuration: {
                      notify_type?: string;
                      remove_delay?: number;
                      text: string;
                      title?: string;
                      type?: string;
                  };
                  row?: Row;
                  user?: User
                  | AbstractUser;
              },
          ) => Promise<
              | { error: any }
              | { notify_success: any }
              | { notify: any; notify_type: string }
              | { notify: any },
          >
      • train_model_instance: {
            configFields: () => Promise<
                (
                    | {
                        attributes: {
                            explainers: Record<string, string>;
                            expression_type?: undefined;
                            mode?: undefined;
                            singleline?: undefined;
                        };
                        class?: undefined;
                        fieldview?: undefined;
                        input_type: string;
                        label: string;
                        name: string;
                        options: { label: string; value: (...)
                        | (...) }[];
                        required: boolean;
                        sublabel?: undefined;
                        type?: undefined;
                    }
                    | {
                        attributes?: undefined;
                        class?: undefined;
                        fieldview?: undefined;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        required: boolean;
                        sublabel: string;
                        type: string;
                    }
                    | {
                        attributes: {
                            explainers?: undefined;
                            expression_type: string;
                            mode: string;
                            singleline: boolean;
                        };
                        class?: undefined;
                        fieldview: string;
                        input_type: string;
                        label: string;
                        name: string;
                        options?: undefined;
                        required?: undefined;
                        sublabel: string;
                        type?: undefined;
                    }
                    | {
                        attributes?: undefined;
                        class: string;
                        fieldview: string;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        required?: undefined;
                        sublabel: string;
                        type: string;
                    }
                )[],
            >;
            description: string;
            disableIf: () => boolean;
            namespace: string;
            run: (
                __namedParameters: {
                    configuration: {
                        hyperparameters?: string;
                        instance_name: string;
                        model_id: number;
                        where?: string;
                    };
                    row?: Row;
                    user?: User
                    | AbstractUser;
                },
            ) => Promise<void>;
        }
      • Namespacewebhook: {
            configFields: (
                __namedParameters: { mode: string; table: Table },
            ) => Promise<
                (
                    | {
                        attributes?: undefined;
                        fieldview?: undefined;
                        label: string;
                        name: string;
                        required?: undefined;
                        showIf?: undefined;
                        sublabel: string;
                        type: string;
                    }
                    | {
                        attributes: { options: string[] };
                        fieldview?: undefined;
                        label: string;
                        name: string;
                        required: boolean;
                        showIf?: undefined;
                        sublabel?: undefined;
                        type: string;
                    }
                    | {
                        attributes?: undefined;
                        fieldview: string;
                        label: string;
                        name: string;
                        required?: undefined;
                        showIf: { method: string[] };
                        sublabel: string;
                        type: string;
                    }
                    | {
                        attributes: { options: string[] };
                        fieldview?: undefined;
                        label: string;
                        name: string;
                        required?: undefined;
                        showIf?: undefined;
                        sublabel?: undefined;
                        type: string;
                    }
                )[],
            >;
            description: string;
            run: (
                opts: {
                    configuration: {
                        authorization?: string;
                        body?: string;
                        method?: string;
                        response_field?: string;
                        response_var?: string;
                        url: string;
                    };
                    row?: Row;
                    table?: Table;
                    user?: User
                    | AbstractUser;
                },
            ) => Promise<{ [key: string]: any } | undefined>;
        }

        actions

        • configFields: (
              __namedParameters: { mode: string; table: Table },
          ) => Promise<
              (
                  | {
                      attributes?: undefined;
                      fieldview?: undefined;
                      label: string;
                      name: string;
                      required?: undefined;
                      showIf?: undefined;
                      sublabel: string;
                      type: string;
                  }
                  | {
                      attributes: { options: string[] };
                      fieldview?: undefined;
                      label: string;
                      name: string;
                      required: boolean;
                      showIf?: undefined;
                      sublabel?: undefined;
                      type: string;
                  }
                  | {
                      attributes?: undefined;
                      fieldview: string;
                      label: string;
                      name: string;
                      required?: undefined;
                      showIf: { method: string[] };
                      sublabel: string;
                      type: string;
                  }
                  | {
                      attributes: { options: string[] };
                      fieldview?: undefined;
                      label: string;
                      name: string;
                      required?: undefined;
                      showIf?: undefined;
                      sublabel?: undefined;
                      type: string;
                  }
              )[],
          >
        • description: string
        • run: (
              opts: {
                  configuration: {
                      authorization?: string;
                      body?: string;
                      method?: string;
                      response_field?: string;
                      response_var?: string;
                      url: string;
                  };
                  row?: Row;
                  table?: Table;
                  user?: User
                  | AbstractUser;
              },
          ) => Promise<{ [key: string]: any } | undefined>
    • fieldviews: {
          radio_select: {
              description: string;
              isEdit: boolean;
              run: (
                  nm: string,
                  v: any,
                  attrs: GenObj,
                  cls: string,
                  reqd: boolean,
                  field: GenObj,
              ) => any;
              type: string;
          };
          search_join_field: {
              blockDisplay: boolean;
              configFields: (
                  field: GenObj,
              ) => Promise<
                  {
                      attributes: { options: { label: string; value: string }[] };
                      label: string;
                      name: string;
                      required: boolean;
                      type: string;
                  }[],
              >;
              isEdit: boolean;
              isFilter: boolean;
              run: (
                  nm: string,
                  v: any,
                  attrs?: GenObj,
                  cls: string,
                  required: boolean,
                  field: GenObj,
                  state?: GenObj,
              ) => any;
              type: string;
          };
          search_or_create: {
              blockDisplay: boolean;
              configFields: (
                  field: GenObj,
              ) => Promise<
                  (
                      | {
                          class?: undefined;
                          form_name: any;
                          input_type: string;
                          label: string;
                          name: string;
                          options: string[];
                          sublabel?: undefined;
                          type?: undefined;
                      }
                      | {
                          class: string;
                          form_name?: undefined;
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          sublabel: string;
                          type: string;
                      }
                      | {
                          class?: undefined;
                          form_name?: undefined;
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          sublabel?: undefined;
                          type: string;
                      }
                  )[],
              >;
              description: string;
              isEdit: boolean;
              run: (
                  nm: string,
                  v: any,
                  attrs: GenObj,
                  cls: string,
                  reqd: boolean,
                  field: GenObj,
                  row?: GenObj,
              ) => any;
              type: string;
          };
          select: {
              blockDisplay: boolean;
              configFields: () => (
                  | {
                      attributes?: undefined;
                      class?: undefined;
                      help?: undefined;
                      label: string;
                      name: string;
                      sublabel: string;
                      type: string;
                  }
                  | {
                      attributes: { placeholder: string };
                      class?: undefined;
                      help: { topic: string };
                      label: string;
                      name: string;
                      sublabel: string;
                      type: string;
                  }
                  | {
                      attributes?: undefined;
                      class: string;
                      help?: undefined;
                      label: string;
                      name: string;
                      sublabel: string;
                      type: string;
                  }
                  | {
                      attributes?: undefined;
                      class?: undefined;
                      help?: undefined;
                      label: string;
                      name: string;
                      sublabel?: undefined;
                      type: string;
                  }
              )[];
              description: string;
              isEdit: boolean;
              run: (
                  nm: string,
                  v: any,
                  attrs: GenObj,
                  cls: string,
                  reqd: boolean,
                  field: GenObj,
              ) => any;
              type: string;
          };
          select_by_code: {
              blockDisplay: boolean;
              configFields: (
                  field: GenObj,
              ) => {
                  attributes: { mode: string };
                  class: string;
                  input_type: string;
                  label: string;
                  name: string;
                  sublabel: string;
                  validator(s: string): any;
              }[];
              description: string;
              isEdit: boolean;
              run: (
                  nm: string,
                  v: any,
                  attrs: GenObj,
                  cls: string,
                  reqd: boolean,
                  field: GenObj,
              ) => any;
              type: string;
              fill_options(
                  field: GenObj,
                  force_allow_none: boolean,
                  where0: GenObj,
                  extraCtx: GenObj,
                  optionsQuery: any,
                  formFieldNames: string[],
                  user: any,
              ): Promise<void>;
          };
          select_by_view: {
              blockDisplay: boolean;
              configFields: (
                  field: GenObj,
                  modeetc?: GenObj,
              ) => Promise<
                  (
                      | {
                          attributes: { options: string[] };
                          help?: undefined;
                          label: string;
                          name: string;
                          required: boolean;
                          sublabel?: undefined;
                          type: string;
                      }
                      | {
                          attributes?: undefined;
                          help: { topic: string };
                          label: string;
                          name: string;
                          required?: undefined;
                          sublabel: string;
                          type: string;
                      }
                      | {
                          attributes: { options: string[] };
                          help?: undefined;
                          label: string;
                          name: string;
                          required: boolean;
                          sublabel: string;
                          type: string;
                      }
                      | {
                          attributes?: undefined;
                          help?: undefined;
                          label: string;
                          name: string;
                          required?: undefined;
                          sublabel?: undefined;
                          type: string;
                      }
                  )[],
              >;
              description: string;
              isEdit: boolean;
              run: (
                  nm: string,
                  v: any,
                  attrs: GenObj,
                  cls: string,
                  reqd: boolean,
                  field: GenObj,
              ) => any;
              type: string;
              fill_options(
                  field: GenObj,
                  force_allow_none: boolean,
                  where0: GenObj,
                  extraCtx: GenObj,
                  optionsQuery: any,
                  formFieldNames: string[],
                  user: any,
              ): Promise<void>;
          };
          select_from_table: {
              blockDisplay: boolean;
              configFields: (
                  fld: GenObj,
              ) => Promise<
                  (
                      | {
                          attributes: { options: string[] };
                          class?: undefined;
                          label: string;
                          name: string;
                          required: boolean;
                          sublabel?: undefined;
                          type: string;
                      }
                      | {
                          attributes?: undefined;
                          class?: undefined;
                          label: string;
                          name: string;
                          required?: undefined;
                          sublabel?: undefined;
                          type: string;
                      }
                      | {
                          attributes?: undefined;
                          class: string;
                          label: string;
                          name: string;
                          required?: undefined;
                          sublabel: string;
                          type: string;
                      }
                      | {
                          attributes?: undefined;
                          class?: undefined;
                          label: string;
                          name: string;
                          required?: undefined;
                          sublabel: string;
                          type: string;
                      }
                  )[],
              >;
              description: string;
              isEdit: boolean;
              run: (
                  nm: string,
                  v: any,
                  attrs: GenObj,
                  cls: string,
                  reqd: boolean,
                  field: GenObj,
              ) => any;
              type: string;
              fill_options(
                  field: GenObj,
                  force_allow_none: boolean,
                  where0: GenObj,
                  extraCtx: GenObj,
                  optionsQuery: any,
                  formFieldNames: string[],
              ): Promise<void>;
          };
          two_level_select: {
              blockDisplay: boolean;
              configFields: (
                  __namedParameters: { name: string; table: any },
              ) => Promise<
                  (
                      | {
                          input_type: string;
                          label: string;
                          name: string;
                          options: string[];
                          sublabel?: undefined;
                          type?: undefined;
                      }
                      | {
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          sublabel?: undefined;
                          type: string;
                      }
                      | {
                          input_type?: undefined;
                          label: string;
                          name: string;
                          options?: undefined;
                          sublabel: string;
                          type: string;
                      }
                  )[],
              >;
              description: string;
              isEdit: boolean;
              run: (
                  nm: string,
                  v: any,
                  attrs: GenObj,
                  cls: string,
                  reqd: boolean,
                  field: GenObj,
              ) => any;
              type: string;
          };
      }
      • Namespaceradio_select: {
            description: string;
            isEdit: boolean;
            run: (
                nm: string,
                v: any,
                attrs: GenObj,
                cls: string,
                reqd: boolean,
                field: GenObj,
            ) => any;
            type: string;
        }

        radio_select namespace

      • search_join_field: {
            blockDisplay: boolean;
            configFields: (
                field: GenObj,
            ) => Promise<
                {
                    attributes: { options: { label: string; value: string }[] };
                    label: string;
                    name: string;
                    required: boolean;
                    type: string;
                }[],
            >;
            isEdit: boolean;
            isFilter: boolean;
            run: (
                nm: string,
                v: any,
                attrs?: GenObj,
                cls: string,
                required: boolean,
                field: GenObj,
                state?: GenObj,
            ) => any;
            type: string;
        }
      • Namespacesearch_or_create: {
            blockDisplay: boolean;
            configFields: (
                field: GenObj,
            ) => Promise<
                (
                    | {
                        class?: undefined;
                        form_name: any;
                        input_type: string;
                        label: string;
                        name: string;
                        options: string[];
                        sublabel?: undefined;
                        type?: undefined;
                    }
                    | {
                        class: string;
                        form_name?: undefined;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        sublabel: string;
                        type: string;
                    }
                    | {
                        class?: undefined;
                        form_name?: undefined;
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        sublabel?: undefined;
                        type: string;
                    }
                )[],
            >;
            description: string;
            isEdit: boolean;
            run: (
                nm: string,
                v: any,
                attrs: GenObj,
                cls: string,
                reqd: boolean,
                field: GenObj,
                row?: GenObj,
            ) => any;
            type: string;
        }

        select namespace

      • Namespaceselect: {
            blockDisplay: boolean;
            configFields: () => (
                | {
                    attributes?: undefined;
                    class?: undefined;
                    help?: undefined;
                    label: string;
                    name: string;
                    sublabel: string;
                    type: string;
                }
                | {
                    attributes: { placeholder: string };
                    class?: undefined;
                    help: { topic: string };
                    label: string;
                    name: string;
                    sublabel: string;
                    type: string;
                }
                | {
                    attributes?: undefined;
                    class: string;
                    help?: undefined;
                    label: string;
                    name: string;
                    sublabel: string;
                    type: string;
                }
                | {
                    attributes?: undefined;
                    class?: undefined;
                    help?: undefined;
                    label: string;
                    name: string;
                    sublabel?: undefined;
                    type: string;
                }
            )[];
            description: string;
            isEdit: boolean;
            run: (
                nm: string,
                v: any,
                attrs: GenObj,
                cls: string,
                reqd: boolean,
                field: GenObj,
            ) => any;
            type: string;
        }

        select namespace

      • select_by_code: {
            blockDisplay: boolean;
            configFields: (
                field: GenObj,
            ) => {
                attributes: { mode: string };
                class: string;
                input_type: string;
                label: string;
                name: string;
                sublabel: string;
                validator(s: string): any;
            }[];
            description: string;
            isEdit: boolean;
            run: (
                nm: string,
                v: any,
                attrs: GenObj,
                cls: string,
                reqd: boolean,
                field: GenObj,
            ) => any;
            type: string;
            fill_options(
                field: GenObj,
                force_allow_none: boolean,
                where0: GenObj,
                extraCtx: GenObj,
                optionsQuery: any,
                formFieldNames: string[],
                user: any,
            ): Promise<void>;
        }
      • select_by_view: {
            blockDisplay: boolean;
            configFields: (
                field: GenObj,
                modeetc?: GenObj,
            ) => Promise<
                (
                    | {
                        attributes: { options: string[] };
                        help?: undefined;
                        label: string;
                        name: string;
                        required: boolean;
                        sublabel?: undefined;
                        type: string;
                    }
                    | {
                        attributes?: undefined;
                        help: { topic: string };
                        label: string;
                        name: string;
                        required?: undefined;
                        sublabel: string;
                        type: string;
                    }
                    | {
                        attributes: { options: string[] };
                        help?: undefined;
                        label: string;
                        name: string;
                        required: boolean;
                        sublabel: string;
                        type: string;
                    }
                    | {
                        attributes?: undefined;
                        help?: undefined;
                        label: string;
                        name: string;
                        required?: undefined;
                        sublabel?: undefined;
                        type: string;
                    }
                )[],
            >;
            description: string;
            isEdit: boolean;
            run: (
                nm: string,
                v: any,
                attrs: GenObj,
                cls: string,
                reqd: boolean,
                field: GenObj,
            ) => any;
            type: string;
            fill_options(
                field: GenObj,
                force_allow_none: boolean,
                where0: GenObj,
                extraCtx: GenObj,
                optionsQuery: any,
                formFieldNames: string[],
                user: any,
            ): Promise<void>;
        }
      • Namespaceselect_from_table: {
            blockDisplay: boolean;
            configFields: (
                fld: GenObj,
            ) => Promise<
                (
                    | {
                        attributes: { options: string[] };
                        class?: undefined;
                        label: string;
                        name: string;
                        required: boolean;
                        sublabel?: undefined;
                        type: string;
                    }
                    | {
                        attributes?: undefined;
                        class?: undefined;
                        label: string;
                        name: string;
                        required?: undefined;
                        sublabel?: undefined;
                        type: string;
                    }
                    | {
                        attributes?: undefined;
                        class: string;
                        label: string;
                        name: string;
                        required?: undefined;
                        sublabel: string;
                        type: string;
                    }
                    | {
                        attributes?: undefined;
                        class?: undefined;
                        label: string;
                        name: string;
                        required?: undefined;
                        sublabel: string;
                        type: string;
                    }
                )[],
            >;
            description: string;
            isEdit: boolean;
            run: (
                nm: string,
                v: any,
                attrs: GenObj,
                cls: string,
                reqd: boolean,
                field: GenObj,
            ) => any;
            type: string;
            fill_options(
                field: GenObj,
                force_allow_none: boolean,
                where0: GenObj,
                extraCtx: GenObj,
                optionsQuery: any,
                formFieldNames: string[],
            ): Promise<void>;
        }

        select namespace

      • two_level_select: {
            blockDisplay: boolean;
            configFields: (
                __namedParameters: { name: string; table: any },
            ) => Promise<
                (
                    | {
                        input_type: string;
                        label: string;
                        name: string;
                        options: string[];
                        sublabel?: undefined;
                        type?: undefined;
                    }
                    | {
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        sublabel?: undefined;
                        type: string;
                    }
                    | {
                        input_type?: undefined;
                        label: string;
                        name: string;
                        options?: undefined;
                        sublabel: string;
                        type: string;
                    }
                )[],
            >;
            description: string;
            isEdit: boolean;
            run: (
                nm: string,
                v: any,
                attrs: GenObj,
                cls: string,
                reqd: boolean,
                field: GenObj,
            ) => any;
            type: string;
        }
    • fileviews: {
          Audio: {
              description: string;
              run: (filePath: string, file_name: string, cfg?: GenObj) => any;
          };
          Capture: {
              configFields: () => Promise<
                  (
                      | {
                          attributes: { options: string[] };
                          default?: undefined;
                          label: string;
                          name: string;
                          required?: undefined;
                          showIf?: undefined;
                          type: string;
                      }
                      | {
                          attributes: { options: string[] };
                          default?: undefined;
                          label: string;
                          name: string;
                          required: boolean;
                          showIf?: undefined;
                          type: string;
                      }
                      | {
                          attributes: { options: { label: ...; name: ... }[] };
                          default: string;
                          label: string;
                          name: string;
                          required?: undefined;
                          showIf?: undefined;
                          type: string;
                      }
                      | {
                          attributes?: undefined;
                          default?: undefined;
                          label: string;
                          name: string;
                          required?: undefined;
                          showIf: { button_style: string[] };
                          type: string;
                      }
                  )[],
              >;
              description: string;
              isEdit: boolean;
              multipartFormData: boolean;
              run: (
                  nm: string,
                  file_name: string,
                  attrs: GenObj,
                  cls: string,
                  reqd: boolean,
                  field: GenObj,
              ) => any;
              valueIsFilename: boolean;
          };
          "Download link": {
              configFields: {
                  attributes: { options: { label: string; name: string }[] };
                  label: string;
                  name: string;
                  required: boolean;
                  type: string;
              }[];
              description: string;
              run: (filePath: string, file_name: string, cfg?: GenObj) => any;
          };
          Link: {
              configFields: {
                  attributes: { options: { label: string; name: string }[] };
                  label: string;
                  name: string;
                  required: boolean;
                  type: string;
              }[];
              description: string;
              run: (filePath: string, file_name: string, cfg?: GenObj) => any;
          };
          "Link (new tab)": {
              configFields: {
                  attributes: { options: { label: string; name: string }[] };
                  label: string;
                  name: string;
                  required: boolean;
                  type: string;
              }[];
              description: string;
              run: (filePath: string, file_name: string, cfg?: GenObj) => any;
          };
          select: {
              configFields: () => Promise<
                  (
                      | {
                          attributes: { options: string[] };
                          default?: undefined;
                          label: string;
                          name: string;
                          showIf?: undefined;
                          subfolder?: undefined;
                          sublabel?: undefined;
                          type: string;
                      }
                      | {
                          attributes?: undefined;
                          default: boolean;
                          label: string;
                          name: string;
                          showIf?: undefined;
                          subfolder?: undefined;
                          sublabel: string;
                          type: string;
                      }
                      | {
                          attributes?: undefined;
                          default: boolean;
                          label: string;
                          name: string;
                          showIf: { use_picker: boolean };
                          subfolder?: undefined;
                          sublabel: string;
                          type: string;
                      }
                      | {
                          attributes?: undefined;
                          default?: undefined;
                          label: string;
                          name: string;
                          showIf?: undefined;
                          subfolder: string;
                          sublabel?: undefined;
                          type: string;
                      }
                  )[],
              >;
              description: string;
              fill_options: (field: GenObj) => Promise<void>;
              isEdit: boolean;
              run: (
                  nm: string,
                  file_id: string,
                  attrs: GenObj,
                  cls: string,
                  reqd: boolean,
                  field: GenObj,
              ) => any;
              setsFileId: boolean;
          };
          "Show Image": {
              description: string;
              run: (filePath: string, file_name: string, cfg?: GenObj) => any;
          };
          TextEditor: {
              configFields: () => Promise<
                  {
                      attributes: { options: string[] };
                      label: string;
                      name: string;
                      required: boolean;
                      type: string;
                  }[],
              >;
              description: string;
              editContent: boolean;
              isEdit: boolean;
              multipartFormData: boolean;
              run: (
                  nm: string,
                  file_name: string,
                  attrs: GenObj,
                  cls: string,
                  reqd: boolean,
                  field: GenObj,
                  row?: GenObj,
              ) => any;
          };
          Thumbnail: {
              configFields: () => (
                  | { label: string; name: string; required: boolean; type: string }
                  | { label: string; name: string; required?: undefined; type: string }
              )[];
              description: string;
              run: (filePath: string, file_name: string, cfg?: GenObj) => any;
          };
          upload: {
              configFields: () => Promise<
                  (
                      | {
                          attributes: { options: string[] };
                          default?: undefined;
                          label: string;
                          name: string;
                          required?: undefined;
                          showIf?: undefined;
                          type: string;
                      }
                      | {
                          attributes: { options: { label: ...; name: ... }[] };
                          default: string;
                          label: string;
                          name: string;
                          required: boolean;
                          showIf?: undefined;
                          type: string;
                      }
                      | {
                          attributes?: undefined;
                          default?: undefined;
                          label: string;
                          name: string;
                          required?: undefined;
                          showIf: { button_style: string[] };
                          type: string;
                      }
                  )[],
              >;
              description: string;
              isEdit: boolean;
              multipartFormData: boolean;
              run: (
                  nm: string,
                  file_name: string,
                  attrs: GenObj,
                  cls: string,
                  reqd: boolean,
                  field: GenObj,
              ) => string;
              valueIsFilename: boolean;
          };
          Video: {
              configFields: { label: string; name: string; type: string }[];
              description: string;
              run: (filePath: string, file_name: string, cfg?: GenObj) => any;
          };
      }
    • sc_plugin_api_version: number
    • types: (
          | {
              attributes: (
                  param: any,
              ) => (
                  | {
                      attributes: {
                          asideNext?: undefined;
                          autofocus: boolean;
                          options?: undefined;
                      };
                      copilot_description: string;
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      required: boolean;
                      showIf?: undefined;
                      sublabel: string;
                      type: string;
                      validator?: undefined;
                  }
                  | {
                      attributes: {
                          asideNext: boolean;
                          autofocus?: undefined;
                          options?: undefined;
                      };
                      copilot_description?: undefined;
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      required: boolean;
                      showIf?: undefined;
                      sublabel: string;
                      type: string;
                      validator?: undefined;
                  }
                  | {
                      attributes?: undefined;
                      copilot_description?: undefined;
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      required: boolean;
                      showIf?: undefined;
                      sublabel: string;
                      type: string;
                      validator?: undefined;
                  }
                  | {
                      attributes: {
                          asideNext: boolean;
                          autofocus?: undefined;
                          options?: undefined;
                      };
                      copilot_description?: undefined;
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      required: boolean;
                      showIf?: undefined;
                      sublabel: string;
                      type: string;
                      validator(s: any): "Not a valid Regular Expression" | undefined;
                  }
                  | {
                      attributes?: undefined;
                      copilot_description?: undefined;
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      required?: undefined;
                      showIf?: undefined;
                      sublabel: string;
                      type: string;
                      validator?: undefined;
                  }
                  | {
                      attributes: {
                          asideNext?: undefined;
                          autofocus?: undefined;
                          options: any;
                      };
                      copilot_description?: undefined;
                      input_type?: undefined;
                      label: string;
                      name: string;
                      options?: undefined;
                      required?: undefined;
                      showIf?: undefined;
                      sublabel: string;
                      type: string;
                      validator?: undefined;
                  }
                  | {
                      attributes?: undefined;
                      copilot_description?: undefined;
                      input_type: string;
                      label: string;
                      name: string;
                      options: string[];
                      required?: undefined;
                      showIf: { localizes_field: any };
                      sublabel: string;
                      type?: undefined;
                      validator?: undefined;
                  }
              )[];
              contract: (opts: any) => any;
              description: string;
              fieldviews: {
                  as_header: {
                      description: string;
                      isEdit: boolean;
                      run: (s: any) => any;
                  };
                  as_link: {
                      configFields: (
                          | { label: string; name: string; sublabel: string; type: string }
                          | { label: string; name: string; sublabel?: undefined; type: string }
                      )[];
                      description: string;
                      isEdit: boolean;
                      run: (s: any, req: any, attrs?: any) => any;
                  };
                  as_text: { description: string; isEdit: boolean; run: (s: any) => any };
                  checkbox_group: {
                      configFields: { label: string; name: string; type: string }[];
                      description: string;
                      isEdit: boolean;
                      isFilter: boolean;
                      run: (
                          nm: any,
                          v: any,
                          attrs: any,
                          cls: any,
                          required: any,
                          field: any,
                      ) => any;
                  };
                  code: { description: string; isEdit: boolean; run: (s: any) => any };
                  code_editor: {
                      blockDisplay: boolean;
                      configFields: {
                          attributes: { options: string[] };
                          label: string;
                          name: string;
                          required: boolean;
                          type: string;
                      }[];
                      description: string;
                      isEdit: boolean;
                      run: (
                          nm: any,
                          v: any,
                          attrs: any,
                          cls: any,
                          required: any,
                          field: any,
                      ) => any;
                  };
                  edit: {
                      blockDisplay: boolean;
                      configFields: (
                          field: any,
                      ) => (
                          | {
                              input_type?: undefined;
                              label: string;
                              name: string;
                              options?: undefined;
                              sublabel?: undefined;
                              type: string;
                          }
                          | {
                              input_type?: undefined;
                              label: string;
                              name: string;
                              options?: undefined;
                              sublabel: string;
                              type: string;
                          }
                          | {
                              input_type: string;
                              label: string;
                              name: string;
                              options: (...)[];
                              sublabel?: undefined;
                              type?: undefined;
                          }
                      )[];
                      description: string;
                      isEdit: boolean;
                      run: (
                          nm: any,
                          v: any,
                          attrs: any,
                          cls: any,
                          required: any,
                          field: any,
                      ) => any;
                  };
                  ellipsize: {
                      configFields: {
                          default: number;
                          label: string;
                          name: string;
                          type: string;
                      }[];
                      description: string;
                      isEdit: boolean;
                      run: (s: any, req: any, attrs?: any) => any;
                  };
                  fill_formula_btn: {
                      blockDisplay: boolean;
                      configFields: (
                          | {
                              default?: undefined;
                              input_type?: undefined;
                              label: string;
                              name: string;
                              options?: undefined;
                              showIf?: undefined;
                              type: string;
                          }
                          | {
                              default?: undefined;
                              input_type?: undefined;
                              label: string;
                              name: string;
                              options?: undefined;
                              showIf: { make_unique: boolean };
                              type: string;
                          }
                          | {
                              default: number;
                              input_type?: undefined;
                              label: string;
                              name: string;
                              options?: undefined;
                              showIf: { make_unique: boolean };
                              type: string;
                          }
                          | {
                              default?: undefined;
                              input_type: string;
                              label: string;
                              name: string;
                              options: string[];
                              showIf: { make_unique: boolean };
                              type?: undefined;
                          }
                      )[];
                      description: string;
                      isEdit: boolean;
                      run: (
                          nm: any,
                          v: any,
                          attrs: any,
                          cls: any,
                          required: any,
                          field: any,
                      ) => any;
                  };
                  img_from_url: {
                      description: string;
                      isEdit: boolean;
                      run: (s: any, req: any, attrs: any) => any;
                  };
                  make_unique: {
                      blockDisplay: boolean;
                      configFields: (
                          | {
                              default?: undefined;
                              input_type?: undefined;
                              label: string;
                              name: string;
                              options?: undefined;
                              type: string;
                          }
                          | {
                              default?: undefined;
                              input_type: string;
                              label: string;
                              name: string;
                              options: string[];
                              type?: undefined;
                          }
                          | {
                              default: number;
                              input_type?: undefined;
                              label: string;
                              name: string;
                              options?: undefined;
                              type: string;
                          }
                      )[];
                      description: string;
                      isEdit: boolean;
                      run: (
                          nm: any,
                          v: any,
                          attrs: any,
                          cls: any,
                          required: any,
                          field: any,
                      ) => any;
                  };
                  monospace_block: {
                      configFields: (
                          | { label: string; name: string; sublabel: string; type: string }
                          | { label: string; name: string; sublabel?: undefined; type: string }
                      )[];
                      description: string;
                      isEdit: boolean;
                      run: (s: any, req: any, attrs?: any) => any;
                  };
                  password: {
                      blockDisplay: boolean;
                      configFields: { label: string; name: string; type: string }[];
                      description: string;
                      isEdit: boolean;
                      run: (
                          nm: any,
                          v: any,
                          attrs: any,
                          cls: any,
                          required: any,
                          field: any,
                      ) => any;
                  };
                  preFormatted: {
                      description: string;
                      isEdit: boolean;
                      run: (s: any) => any;
                  };
                  radio_group: {
                      configFields: { label: string; name: string; type: string }[];
                      description: string;
                      isEdit: boolean;
                      run: (
                          nm: any,
                          v: any,
                          attrs: any,
                          cls: any,
                          required: any,
                          field: any,
                      ) => any;
                  };
                  select_by_code: any;
                  show_with_html: {
                      configFields: {
                          attributes: { mode: string };
                          default: string;
                          input_type: string;
                          label: string;
                          name: string;
                          sublabel: string;
                      }[];
                      description: string;
                      isEdit: boolean;
                      run: (v: any, req: any, attrs?: any) => any;
                  };
                  textarea: {
                      blockDisplay: boolean;
                      configFields: (
                          | {
                              label: string;
                              name: string;
                              sublabel?: undefined;
                              type: string;
                          }
                          | { label: string; name: string; sublabel: string; type: string }
                      )[];
                      description: string;
                      isEdit: boolean;
                      run: (
                          nm: any,
                          v: any,
                          attrs: any,
                          cls: any,
                          required: any,
                          field: any,
                      ) => any;
                  };
              };
              js_type: string;
              name: string;
              presets: { IP: (opts: any) => any; SessionID: (opts: any) => any };
              read: (v: any) => string | undefined;
              sql_name: string;
              validate: (param: any) => (x: any) => true | { error: any };
              validate_attributes: (param: any) => boolean;
          }
          | {
              attributes: {
                  label: string;
                  name: string;
                  required: boolean;
                  type: string;
              }[];
              contract: (opts: any) => any;
              description: string;
              distance_operators: { near: any };
              fieldviews: {
                  above_input: {
                      blockDisplay: boolean;
                      configFields: { label: string; name: string; type: string }[];
                      isEdit: boolean;
                      isFilter: boolean;
                      run: (
                          nm: any,
                          v: any,
                          attrs?: any,
                          cls: any,
                          required: any,
                          field: any,
                          state?: any,
                      ) => any;
                  };
                  below_input: {
                      blockDisplay: boolean;
                      configFields: { label: string; name: string; type: string }[];
                      isEdit: boolean;
                      isFilter: boolean;
                      run: (
                          nm: any,
                          v: any,
                          attrs?: any,
                          cls: any,
                          required: any,
                          field: any,
                          state?: any,
                      ) => any;
                  };
                  edit: {
                      blockDisplay: boolean;
                      configFields: { label: string; name: string; type: string }[];
                      description: string;
                      isEdit: boolean;
                      run: (
                          nm: any,
                          v: any,
                          attrs: any,
                          cls: any,
                          required: any,
                          field: any,
                      ) => any;
                  };
                  edit_star_rating: {
                      blockDisplay: boolean;
                      configFields: (
                          field: any,
                      ) => (
                          | {
                              default: number;
                              label?: undefined;
                              name: string;
                              required: boolean;
                              sublabel?: undefined;
                              type: string;
                          }
                          | {
                              default?: undefined;
                              label: string;
                              name: string;
                              required?: undefined;
                              sublabel: string;
                              type: string;
                          }
                      )[];
                      description: string;
                      isEdit: boolean;
                      run: (
                          nm: any,
                          v: any,
                          attrs?: any,
                          cls: any,
                          required: any,
                          field: any,
                          state?: any,
                      ) => any;
                  };
                  heat_cell: {
                      configFields: (
                          field: any,
                      ) => (
                          | {
                              attributes?: undefined;
                              class?: undefined;
                              default?: undefined;
                              label: string;
                              name: string;
                              required?: undefined;
                              showIf?: undefined;
                              type: string;
                          }
                          | {
                              attributes?: undefined;
                              class?: undefined;
                              default?: undefined;
                              label: string;
                              name: string;
                              required: boolean;
                              showIf: { max_min_formula: ... };
                              type: any;
                          }
                          | {
                              attributes?: undefined;
                              class: string;
                              default?: undefined;
                              label: string;
                              name: string;
                              required?: undefined;
                              showIf: { max_min_formula: ... };
                              type: string;
                          }
                          | {
                              attributes: { options: ... };
                              class?: undefined;
                              default?: undefined;
                              label: string;
                              name: string;
                              required: boolean;
                              showIf?: undefined;
                              type: string;
                          }
                          | {
                              attributes?: undefined;
                              class?: undefined;
                              default: number;
                              label: string;
                              name: string;
                              required?: undefined;
                              showIf?: undefined;
                              type: string;
                          }
                      )[];
                      description: string;
                      isEdit: boolean;
                      run: (v: any, req: any, attrs?: any) => any;
                  };
                  number_slider: {
                      blockDisplay: boolean;
                      configFields: (
                          field: any,
                      ) => { name: string; required: boolean; type: any }[];
                      description: string;
                      isEdit: boolean;
                      run: (
                          nm: any,
                          v: any,
                          attrs?: any,
                          cls: any,
                          required: any,
                          field: any,
                      ) => any;
                  };
                  progress_bar: {
                      configFields: (
                          field: any,
                      ) => (
                          | {
                              class?: undefined;
                              label: string;
                              name: string;
                              required?: undefined;
                              showIf?: undefined;
                              type: string;
                          }
                          | {
                              class?: undefined;
                              label: string;
                              name: string;
                              required: boolean;
                              showIf: { max_min_formula: ...; radial?: ... };
                              type: any;
                          }
                          | {
                              class: string;
                              label: string;
                              name: string;
                              required?: undefined;
                              showIf: { max_min_formula: ...; radial?: ... };
                              type: string;
                          }
                          | {
                              class?: undefined;
                              label: string;
                              name: string;
                              required?: undefined;
                              showIf: { max_min_formula?: ...; radial: ... };
                              type: string;
                          }
                      )[];
                      description: string;
                      isEdit: boolean;
                      run: (v: any, req: any, attrs?: any) => any;
                  };
                  range_interval: {
                      blockDisplay: boolean;
                      configFields: (
                          field: any,
                      ) => { name: string; required: boolean; type: any }[];
                      description: string;
                      isEdit: boolean;
                      isFilter: boolean;
                      run: (
                          nm: any,
                          v: any,
                          attrs?: any,
                          cls: any,
                          required: any,
                          field: any,
                          state?: any,
                      ) => any;
                  };
                  role_select: {
                      blockDisplay: boolean;
                      description: string;
                      fill_options: (field: any) => Promise<void>;
                      isEdit: boolean;
                      run: (
                          nm: any,
                          v: any,
                          attrs: any,
                          cls: any,
                          required: any,
                          field: any,
                      ) => any;
                  };
                  select_by_code: any;
                  show: { description: string; isEdit: boolean; run: (s: any) => any };
                  show_star_rating: {
                      blockDisplay: boolean;
                      configFields: (
                          field: any,
                      ) => { default: number; name: string; required: boolean; type: string }[];
                      description: string;
                      isEdit: boolean;
                      run: (v: any, req: any, attrs?: any) => any;
                  };
                  show_with_html: {
                      configFields: {
                          attributes: { mode: string };
                          default: string;
                          input_type: string;
                          label: string;
                          name: string;
                          sublabel: string;
                      }[];
                      description: string;
                      isEdit: boolean;
                      run: (v: any, req: any, attrs?: any) => any;
                  };
                  to_locale_string: {
                      configFields: (
                          field: any,
                      ) => (
                          | {
                              attributes?: undefined;
                              label: string;
                              name: string;
                              required?: undefined;
                              showIf?: undefined;
                              sublabel: string;
                              type: string;
                          }
                          | {
                              attributes: { min?: ...; options: ... };
                              label: string;
                              name: string;
                              required: boolean;
                              showIf?: undefined;
                              sublabel?: undefined;
                              type: string;
                          }
                          | {
                              attributes: { min: ...; options?: ... };
                              label: string;
                              name: string;
                              required?: undefined;
                              showIf?: undefined;
                              sublabel?: undefined;
                              type: string;
                          }
                          | {
                              attributes?: undefined;
                              label: string;
                              name: string;
                              required: boolean;
                              showIf: { style: ... };
                              sublabel: string;
                              type: string;
                          }
                          | {
                              attributes: { min?: ...; options: ... };
                              label: string;
                              name: string;
                              required: boolean;
                              showIf: { style: ... };
                              sublabel?: undefined;
                              type: string;
                          }
                      )[];
                      description: string;
                      isEdit: boolean;
                      run: (v: any, req: any, attrs?: any) => string;
                  };
              };
              js_type: string;
              name: string;
              primaryKey: { sql_type: string };
              read: (v: any) => number | undefined;
              sql_name: string;
              validate: (param: any) => (x: any) => true | { error: string };
              validate_attributes: (param: any) => boolean;
          }
          | {
              attributes: never[];
              contract: () => any;
              description: string;
              fieldviews: {
                  edit: {
                      blockDisplay: boolean;
                      description: string;
                      isEdit: boolean;
                      run: (
                          nm: any,
                          v: any,
                          attrs: any,
                          cls: any,
                          required: any,
                          field: any,
                      ) => any;
                  };
                  show: { description: string; isEdit: boolean; run: (s: any) => any };
                  show_with_html: {
                      configFields: {
                          attributes: { mode: string };
                          default: string;
                          input_type: string;
                          label: string;
                          name: string;
                          sublabel: string;
                      }[];
                      description: string;
                      isEdit: boolean;
                      run: (v: any, req: any, attrs?: any) => any;
                  };
              };
              js_type: string;
              name: string;
              read: (v: any) => string | undefined;
              sql_name: string;
              validate: () => (x: any) => boolean;
          }
          | {
              attributes: {
                  label: string;
                  name: string;
                  required: boolean;
                  type: string;
              }[];
              contract: (opts: any) => any;
              description: string;
              distance_operators: { near: any };
              equals: (a: any, b: any, opts: any) => boolean;
              fieldviews: {
                  above_input: {
                      blockDisplay: boolean;
                      isEdit: boolean;
                      isFilter: boolean;
                      run: (
                          nm: any,
                          v: any,
                          attrs?: any,
                          cls: any,
                          required: any,
                          field: any,
                          state?: any,
                      ) => any;
                  };
                  below_input: {
                      blockDisplay: boolean;
                      isEdit: boolean;
                      isFilter: boolean;
                      run: (
                          nm: any,
                          v: any,
                          attrs?: any,
                          cls: any,
                          required: any,
                          field: any,
                          state?: any,
                      ) => any;
                  };
                  edit: {
                      blockDisplay: boolean;
                      configFields: { label: string; name: string; type: string }[];
                      description: string;
                      isEdit: boolean;
                      run: (
                          nm: any,
                          v: any,
                          attrs: any,
                          cls: any,
                          required: any,
                          field: any,
                      ) => any;
                  };
                  heat_cell: {
                      configFields: (
                          field: any,
                      ) => (
                          | {
                              attributes?: undefined;
                              class?: undefined;
                              default?: undefined;
                              label: string;
                              name: string;
                              required?: undefined;
                              showIf?: undefined;
                              type: string;
                          }
                          | {
                              attributes?: undefined;
                              class?: undefined;
                              default?: undefined;
                              label: string;
                              name: string;
                              required: boolean;
                              showIf: { max_min_formula: ... };
                              type: any;
                          }
                          | {
                              attributes?: undefined;
                              class: string;
                              default?: undefined;
                              label: string;
                              name: string;
                              required?: undefined;
                              showIf: { max_min_formula: ... };
                              type: string;
                          }
                          | {
                              attributes: { options: ... };
                              class?: undefined;
                              default?: undefined;
                              label: string;
                              name: string;
                              required: boolean;
                              showIf?: undefined;
                              type: string;
                          }
                          | {
                              attributes?: undefined;
                              class?: undefined;
                              default: number;
                              label: string;
                              name: string;
                              required?: undefined;
                              showIf?: undefined;
                              type: string;
                          }
                      )[];
                      description: string;
                      isEdit: boolean;
                      run: (v: any, req: any, attrs?: any) => any;
                  };
                  number_slider: {
                      blockDisplay: boolean;
                      configFields: (
                          field: any,
                      ) => { name: string; required: boolean; type: any }[];
                      description: string;
                      isEdit: boolean;
                      run: (
                          nm: any,
                          v: any,
                          attrs?: any,
                          cls: any,
                          required: any,
                          field: any,
                      ) => any;
                  };
                  progress_bar: {
                      configFields: (
                          field: any,
                      ) => (
                          | {
                              class?: undefined;
                              label: string;
                              name: string;
                              required?: undefined;
                              showIf?: undefined;
                              type: string;
                          }
                          | {
                              class?: undefined;
                              label: string;
                              name: string;
                              required: boolean;
                              showIf: { max_min_formula: ...; radial?: ... };
                              type: any;
                          }
                          | {
                              class: string;
                              label: string;
                              name: string;
                              required?: undefined;
                              showIf: { max_min_formula: ...; radial?: ... };
                              type: string;
                          }
                          | {
                              class?: undefined;
                              label: string;
                              name: string;
                              required?: undefined;
                              showIf: { max_min_formula?: ...; radial: ... };
                              type: string;
                          }
                      )[];
                      description: string;
                      isEdit: boolean;
                      run: (v: any, req: any, attrs?: any) => any;
                  };
                  range_interval: {
                      blockDisplay: boolean;
                      configFields: (
                          field: any,
                      ) => { name: string; required: boolean; type: any }[];
                      description: string;
                      isEdit: boolean;
                      isFilter: boolean;
                      run: (
                          nm: any,
                          v: any,
                          attrs?: any,
                          cls: any,
                          required: any,
                          field: any,
                          state?: any,
                      ) => any;
                  };
                  show: { description: string; isEdit: boolean; run: (s: any) => any };
                  show_with_html: {
                      configFields: {
                          attributes: { mode: string };
                          default: string;
                          input_type: string;
                          label: string;
                          name: string;
                          sublabel: string;
                      }[];
                      description: string;
                      isEdit: boolean;
                      run: (v: any, req: any, attrs?: any) => any;
                  };
                  to_locale_string: {
                      configFields: (
                          field: any,
                      ) => (
                          | {
                              attributes?: undefined;
                              label: string;
                              name: string;
                              required?: undefined;
                              showIf?: undefined;
                              sublabel: string;
                              type: string;
                          }
                          | {
                              attributes: { min?: ...; options: ... };
                              label: string;
                              name: string;
                              required: boolean;
                              showIf?: undefined;
                              sublabel?: undefined;
                              type: string;
                          }
                          | {
                              attributes: { min: ...; options?: ... };
                              label: string;
                              name: string;
                              required?: undefined;
                              showIf?: undefined;
                              sublabel?: undefined;
                              type: string;
                          }
                          | {
                              attributes?: undefined;
                              label: string;
                              name: string;
                              required: boolean;
                              showIf: { style: ... };
                              sublabel: string;
                              type: string;
                          }
                          | {
                              attributes: { min?: ...; options: ... };
                              label: string;
                              name: string;
                              required: boolean;
                              showIf: { style: ... };
                              sublabel?: undefined;
                              type: string;
                          }
                      )[];
                      description: string;
                      isEdit: boolean;
                      run: (v: any, req: any, attrs?: any) => string;
                  };
              };
              js_type: string;
              name: string;
              read: (v: any) => number | undefined;
              sql_name: string;
              validate: (param: any) => (x: any) => true | { error: string };
          }
          | {
              attributes: {
                  label: string;
                  name: string;
                  sublabel: string;
                  type: string;
              }[];
              contract: () => any;
              description: string;
              equals: (a: any, b: any) => boolean;
              fieldviews: {
                  edit: {
                      blockDisplay: boolean;
                      configFields: { label: string; name: string; type: string }[];
                      description: string;
                      isEdit: boolean;
                      run: (
                          nm: any,
                          v: any,
                          attrs: any,
                          cls: any,
                          required: any,
                          field: any,
                      ) => any;
                  };
                  editDay: {
                      blockDisplay: boolean;
                      configFields: { label: string; name: string; type: string }[];
                      description: string;
                      isEdit: boolean;
                      run: (
                          nm: any,
                          v: any,
                          attrs: any,
                          cls: any,
                          required: any,
                          field: any,
                      ) => any;
                  };
                  format: {
                      configFields: {
                          help: { topic: string };
                          label: string;
                          name: string;
                          type: string;
                      }[];
                      description: string;
                      isEdit: boolean;
                      run: (d: any, req: any, options: any) => any;
                  };
                  relative: {
                      description: string;
                      isEdit: boolean;
                      run: (d: any, req: any) => any;
                  };
                  show: {
                      description: string;
                      isEdit: boolean;
                      run: (d: any, req: any, attrs?: any) => any;
                  };
                  show_with_html: {
                      configFields: {
                          attributes: { mode: string };
                          default: string;
                          input_type: string;
                          label: string;
                          name: string;
                          sublabel: string;
                      }[];
                      description: string;
                      isEdit: boolean;
                      run: (v: any, req: any, attrs?: any) => any;
                  };
                  showDay: {
                      description: string;
                      isEdit: boolean;
                      run: (d: any, req: any) => any;
                  };
                  yearsAgo: {
                      description: string;
                      isEdit: boolean;
                      run: (d: any, req: any) => any;
                  };
              };
              js_type: string;
              name: string;
              presets: { Now: (__namedParameters: any) => any };
              read: (v0: any, attrs: any) => any;
              sql_name: (opts: any) => "date" | "timestamptz";
              validate: () => (v: any) => boolean;
          }
          | {
              attributes: never[];
              contract: () => any;
              description: string;
              fieldviews: {
                  checkboxes: {
                      description: string;
                      isEdit: boolean;
                      run: (v: any) => any;
                  };
                  edit: {
                      configFields: (
                          | {
                              attributes: { options: (...)[] };
                              label: string;
                              name: string;
                              type: string;
                          }
                          | { attributes?: undefined; label: string; name: string; type: string }
                      )[];
                      description: string;
                      isEdit: boolean;
                      run: (
                          nm: any,
                          v: any,
                          attrs: any,
                          cls: any,
                          required: any,
                          field: any,
                      ) => any;
                  };
                  show: {
                      description: string;
                      isEdit: boolean;
                      run: (v: any, req: any) => any;
                  };
                  show_with_html: {
                      configFields: {
                          attributes: { mode: string };
                          default: string;
                          input_type: string;
                          label: string;
                          name: string;
                          sublabel: string;
                      }[];
                      description: string;
                      isEdit: boolean;
                      run: (v: any, req: any, attrs?: any) => any;
                  };
                  switch: {
                      description: string;
                      isEdit: boolean;
                      run: (
                          nm: any,
                          v: any,
                          attrs: any,
                          cls: any,
                          required: any,
                          field: any,
                      ) => any;
                  };
                  thumbs_up_down: {
                      configFields: {
                          attributes: { options: string[] };
                          label: string;
                          name: string;
                          required: boolean;
                          type: string;
                      }[];
                      description: string;
                      isEdit: boolean;
                      run: (
                          nm: any,
                          v: any,
                          attrs: any,
                          cls: any,
                          required: any,
                          field: any,
                      ) => any;
                  };
                  tristate: {
                      configFields: { label: string; name: string; type: string }[];
                      description: string;
                      isEdit: boolean;
                      run: (
                          nm: any,
                          v: any,
                          attrs: any,
                          cls: any,
                          required: any,
                          field: any,
                      ) => any;
                  };
                  TrueFalse: {
                      description: string;
                      isEdit: boolean;
                      run: (v: any) => "" | "True" | "False";
                  };
              };
              js_type: string;
              listAs: (v: any) => string;
              name: string;
              read: (v: any) => boolean | null;
              readFromDB: (v: any) => boolean | null;
              readFromFormRecord: (rec: any, name: any) => boolean | null;
              sql_name: string;
              validate: () => (x: any) => boolean;
          }
      )[]
    • viewtemplates: (
          | {
              configuration_workflow: (req: Req) => Workflow;
              connectedObjects: (
                  __namedParameters: GenObj,
              ) => Promise<{ embeddedViews: View[] }>;
              description: string;
              get_state_fields: (
                  table_id: number,
                  viewname: string,
                  __namedParameters: GenObj,
              ) => Promise<
                  (
                      | FieldLikeWithInputType
                      | FieldLikeWithType
                      | { name: string; required: boolean; type: string }
                  )[],
              >;
              name: string;
              queries: (
                  __namedParameters: GenObj,
              ) => { getRowQuery(uniques: Where): Promise<Row | null> };
              run: (
                  table_id: number,
                  viewname: string,
                  __namedParameters: GenObj,
                  state: GenObj,
                  extraArgs: GenObj,
                  __namedParameters: { getRowQuery: (where: Where) => Promise<Row | null> },
              ) => Promise<any>;
          }
          | {
              configCheck: (view: GenObj) => Promise<any>;
              configuration_workflow: (req: Req) => Workflow;
              connectedObjects: (configuration: GenObj) => Promise<any>;
              createBasicView: (__namedParameters: GenObj) => Promise<any>;
              default_state_form: (__namedParameters: GenObj) => any;
              description: string;
              get_state_fields: (
                  table_id: string | number,
                  viewname: string,
                  __namedParameters: GenObj,
              ) => Promise<GenObj[]>;
              initial_config: (
                  __namedParameters: GenObj,
              ) => Promise<
                  {
                      columns: GenObj[];
                      layout: { besides: GenObj[]; list_columns: boolean };
                  },
              >;
              name: string;
              on_delete: (
                  table_id: string | number,
                  viewname: string,
                  __namedParameters: GenObj,
              ) => Promise<void>;
              queries: (
                  __namedParameters: GenObj,
              ) => {
                  getRowQuery(id: any): Promise<Row | null>;
                  listQuery(
                      state: GenObj,
                      stateHash: string,
                  ): Promise<{ rowCount: number | undefined; rows: GenObj[] }>;
              };
              routes: {
                  run_action: (
                      table_id: string | number,
                      viewname: string,
                      __namedParameters: GenObj,
                      body: GenObj,
                      __namedParameters: { req: Req; res: Res },
                      __namedParameters: GenObj,
                  ) => Promise<any>;
              };
              run: (
                  table_id: string | number,
                  viewname: string,
                  __namedParameters: GenObj,
                  stateWithId: GenObj,
                  extraOpts: { req: Req; res: Res; [key: string]: any },
                  __namedParameters: GenObj,
              ) => Promise<any>;
              view_quantity: string;
              getStringsForI18n(__namedParameters: GenObj): string[];
          }
          | {
              configCheck: (view: GenObj) => Promise<any>;
              configuration_workflow: (req: Req) => Workflow;
              connectedObjects: (configuration: GenObj) => Promise<any>;
              createBasicView: (__namedParameters: GenObj) => Promise<any>;
              description: string;
              get_state_fields: () => {
                  name: string;
                  primary_key: boolean;
                  required: boolean;
                  type: string;
              }[];
              initial_config: (
                  __namedParameters: { exttable_name?: string; table_id?: number },
              ) => Promise<any>;
              name: string;
              queries: (
                  __namedParameters: GenObj,
              ) => {
                  actionQuery(): Promise<any>;
                  runManyQuery(state: GenObj, __namedParameters: GenObj): Promise<Row[]>;
                  showQuery(
                      state: GenObj,
                  ): Promise<
                      { message: string; rows: null }
                      | { message: null; rows: Row[] },
                  >;
              };
              renderRows: (
                  table: any,
                  viewname: string,
                  __namedParameters: { columns: Column[]; layout: Layout },
                  extra: { req: Req; res: Res; [key: string]: any },
                  rows: Row[],
                  state: GenObj,
              ) => Promise<any>;
              routes: {
                  run_action: (
                      table_id: string | number,
                      viewname: string,
                      __namedParameters: { columns: Column[]; layout: Layout },
                      body: GenObj,
                      __namedParameters: { req: Req; res: Res },
                      __namedParameters: GenObj,
                  ) => Promise<any>;
              };
              run: (
                  table_id: string | number,
                  viewname: string,
                  __namedParameters: {
                      columns: Column[];
                      layout: Layout;
                      page_title?: string;
                      page_title_formula?: boolean;
                  },
                  state: GenObj,
                  extra: { isPreview?: boolean; req: Req; res: Res; [key: string]: any },
                  __namedParameters: GenObj,
              ) => Promise<any>;
              runMany: (
                  table_id: string | number,
                  viewname: string,
                  __namedParameters: { columns: Column[]; layout: Layout },
                  state: GenObj,
                  extra: { req: Req; res: Res; [key: string]: any },
                  __namedParameters: GenObj,
              ) => Promise<any>;
              getStringsForI18n(__namedParameters: { layout: Layout }): any;
              interpolate_title_string(
                  table_id: string | number,
                  title: string,
                  state: GenObj,
              ): Promise<any>;
          }
          | {
              configuration_workflow: (req: Req) => Workflow;
              connectedObjects: (configuration: GenObj) => Promise<any>;
              description: string;
              get_state_fields: (
                  table_id: number,
                  viewname: string,
                  opts: GenObj,
              ) => Promise<Field[]>;
              name: string;
              queries: (
                  __namedParameters: GenObj,
              ) => {
                  countRowsQuery(state: GenObj): Promise<number>;
                  runManyQuery(
                      state: GenObj,
                      qextra: GenObj,
                      selectOpts0: GenObj,
                  ): Promise<string[] | { html: string; row: any }[]>;
              };
              run: (
                  table_id: number,
                  viewname: string,
                  opts: GenObj,
                  state: GenObj,
                  extraArgs: GenObj,
                  __namedParameters: {
                      countRowsQuery: (state: GenObj) => Promise<number>;
                      runManyQuery: (
                          state: GenObj,
                          qextra: GenObj,
                          selectOpts: GenObj,
                      ) => Promise<GenObj[]>;
                  },
              ) => Promise<any>;
              getStringsForI18n(opts: GenObj): any[];
          }
          | {
              authorize_join: (
                  opts: GenObj,
                  room_id: string,
                  user: GenObj,
              ) => Promise<boolean>;
              configuration_workflow: (req: Req) => Workflow;
              connectedObjects: (configuration: GenObj) => Promise<any>;
              description: string;
              get_state_fields: () => {
                  name: string;
                  primary_key: boolean;
                  required: boolean;
                  type: string;
              }[];
              name: string;
              noAutoTest: boolean;
              queries: (
                  __namedParameters: GenObj,
              ) => {
                  ackReadQuery(
                      participant_field: string,
                      participant_maxread_field: string,
                      body: GenObj,
                  ): Promise<
                      | { json: { error: string; success?: undefined } }
                      | { json: { error?: undefined; success: string } },
                  >;
                  fetchOlderMsgQuery(
                      participant_field: string,
                      body: GenObj,
                  ): Promise<Row | null>;
                  getRowQuery(
                      state_id: string,
                      part_table_name: string,
                      part_user_field: string,
                      part_key_to_room: string,
                  ): Promise<Row | null>;
                  optionsQuery(
                      reftable_name: string,
                      type: string,
                      attributes: GenObj,
                      where: GenObj,
                  ): Promise<any>;
                  submitAjaxQuery(
                      msg_relation: string,
                      participant_field: string,
                      body: GenObj,
                      msgform: string,
                      msgsender_field: string,
                      participant_maxread_field: string,
                  ): Promise<
                      | { json: { error?: undefined; msgid: (...)
                      | (...) } }
                      | { json: { error: any; msgid?: undefined } },
                  >;
                  updateQuery(
                      partRow: GenObj,
                      part_table_name: string,
                      max_read_id: number,
                      part_maxread_field: string,
                  ): Promise<void>;
              };
              routes: {
                  ack_read: (
                      table_id: number,
                      viewname: string,
                      optsOne: GenObj,
                      body: GenObj,
                      optsTwo: { req: Req; res: Res },
                      __namedParameters: GenObj,
                  ) => Promise<any>;
                  fetch_older_msg: (
                      table_id: number,
                      viewname: string,
                      optsTwo: GenObj,
                      body: GenObj,
                      __namedParameters: { req: Req; res: Res },
                      __namedParameters: GenObj,
                  ) => Promise<
                      | {
                          json: {
                              error: string;
                              new_fetch_older_lt?: undefined;
                              prepend?: undefined;
                              remove_fetch_older?: undefined;
                              success?: undefined;
                          };
                      }
                      | {
                          json: {
                              error?: undefined;
                              new_fetch_older_lt: number;
                              prepend: string;
                              remove_fetch_older: boolean;
                              success: string;
                          };
                      },
                  >;
                  run_action: (
                      table_id: number,
                      viewname: string,
                      __namedParameters: GenObj,
                      body: GenObj,
                      __namedParameters: { req: Req; res: Res },
                  ) => Promise<any>;
                  submit_msg_ajax: (
                      table_id: number,
                      viewname: string,
                      optsOne: GenObj,
                      body: GenObj,
                      optsTwo: { req: Req; res: Res },
                      __namedParameters: GenObj,
                  ) => Promise<any>;
              };
              run: (
                  table_id: number,
                  viewname: string,
                  optsOne: GenObj,
                  state: GenObj,
                  optsTwo: { req: Req; res: Res },
                  __namedParameters: GenObj,
              ) => Promise<any>;
              virtual_triggers: (
                  table_id: number,
                  viewname: string,
                  opts: GenObj,
              ) => {
                  run: (row: GenObj) => Promise<void>;
                  table_id: number | undefined;
                  when_trigger: string;
              }[];
              getStringsForI18n(): never[];
          }
          | {
              configuration_workflow: (req: Req) => Workflow;
              connectedObjects: (configuration: GenObj) => Promise<any>;
              description: string;
              get_state_fields: () => never[];
              name: string;
              noAutoTest: boolean;
              queries: (__namedParameters: GenObj) => {};
              routes: {
                  delprevrun: (
                      table_id: number | null,
                      viewname: string,
                      config: GenObj,
                      body: GenObj,
                      __namedParameters: { req: Req; res: Res },
                  ) => Promise<void>;
                  submit_form: (
                      table_id: number | null,
                      viewname: string,
                      __namedParameters: GenObj,
                      body: GenObj,
                      __namedParameters: { req: Req },
                  ) => Promise<{ json: { eval_js: string; success: string } }>;
              };
              run: (
                  table_id: number | null,
                  viewname: string,
                  __namedParameters: GenObj,
                  state: GenObj,
                  __namedParameters: { isPreview?: boolean; req: Req; res: Res },
                  __namedParameters: GenObj,
              ) => Promise<any>;
              tableless: boolean;
              getStringsForI18n(): never[];
          }
          | {
              authorise_get: (
                  param0: { query: GenObj; req: Req; table_id: string | number },
                  param1: GenObj,
              ) => Promise<any>;
              authorise_post: (
                  param0: { body: GenObj; req: Req; table_id: string | number },
                  param1: GenObj,
              ) => Promise<any>;
              authorizeDataStream: (
                  view: any,
                  id: any,
                  fieldName: string,
                  user: any,
                  targetOpts: any,
              ) => Promise<boolean>;
              configCheck: (
                  view: View,
              ) => Promise<{ errors: string[]; warnings: string[] }>;
              configuration_workflow: (req: Req) => Workflow;
              connectedObjects: (configuration: GenObj) => Promise<ConnectedObjects>;
              createBasicView: (param0: GenObj) => Promise<any>;
              description: string;
              get_state_fields: (
                  table_id: string | number,
                  viewname: string,
                  param2: GenObj,
              ) => Promise<{ name: string; primary_key: boolean; type: string }[]>;
              initial_config: (
                  __namedParameters: { exttable_name?: string; table_id?: number },
              ) => Promise<any>;
              name: string;
              openDataStream: (
                  tableId: string | number,
                  viewName: string,
                  id: any,
                  fieldName: string,
                  fieldView: string,
                  user: any,
                  configuration: GenObj,
                  targetOpts: any,
              ) => Promise<any>;
              queries: (
                  param0: GenObj,
              ) => {
                  actionQuery(): Promise<any>;
                  authorizeGetQuery(
                      query: GenObj,
                      table_id: string | number,
                  ): Promise<string | number | boolean | null | undefined>;
                  authorizePostQuery(
                      body: GenObj,
                      table_id: string | number,
                  ): Promise<boolean | "" | null>;
                  editManyQuery(
                      state: GenObj,
                      __namedParameters: GenObj,
                  ): Promise<{ fields: Field[]; rows: Row[]; table: Table }>;
                  editQuery(
                      state: GenObj,
                      mobileReferrer: string | undefined,
                      isPreview: boolean,
                      hiddenLoginDest: any,
                  ): Promise<string>;
                  getRowByIdQuery(id: any): Promise<Row | null>;
                  getRowQuery(
                      table_id: string | number,
                      view_select: any,
                      row_id: any,
                      order_field?: string,
                  ): Promise<Row[]>;
                  optionsQuery(
                      reftable_name: string,
                      type: any,
                      attributes: any,
                      where: GenObj,
                  ): Promise<Row[]>;
                  saveFileFromContentsQuery(
                      fieldVal: string,
                      fieldId: number,
                      fieldView: string,
                      row: GenObj,
                      filename: string,
                      encoding?: string,
                  ): Promise<string>;
                  saveFileQuery(
                      fieldVal: string,
                      fieldId: number,
                      fieldView: string,
                      row: GenObj,
                  ): Promise<string>;
                  tryInsertQuery(
                      row: GenObj,
                  ): Promise<{ error: string } | { success: PrimaryKeyValue }>;
                  tryUpdateQuery(row: GenObj, id: any): Promise<any>;
                  updateMatchingQuery(
                      where: GenObj,
                      updateVals: GenObj,
                      repeatFields: any[],
                      childRows: GenObj,
                  ): Promise<
                      | any[]
                      | { error?: undefined; inEditError?: undefined; rowError: any }
                      | { error?: undefined; inEditError: any; rowError?: undefined }
                      | { error: any; inEditError?: undefined; rowError?: undefined },
                  >;
              };
              routes: {
                  run_action: (
                      table_id: string | number,
                      viewname: string,
                      __namedParameters: GenObj,
                      body: GenObj,
                      __namedParameters: { req: Req; res: Res },
                      __namedParameters: GenObj,
                  ) => Promise<any>;
                  update_matching_rows: (
                      table_id: string | number,
                      viewname: string,
                      __namedParameters: GenObj,
                      body: GenObj,
                      __namedParameters: { redirect?: string; req: Req; res: Res },
                      __namedParameters: GenObj,
                  ) => Promise<void>;
              };
              run: (
                  table_id: string | number,
                  viewname: string,
                  cfg: GenObj,
                  state: GenObj,
                  param4: {
                      hiddenLoginDest?: any;
                      isPreview?: boolean;
                      req: Req;
                      res: Res;
                  },
                  param5: GenObj,
              ) => Promise<any>;
              runMany: (
                  table_id: string | number,
                  viewname: string,
                  param2: GenObj,
                  state: GenObj,
                  extra: any,
                  param5: GenObj,
              ) => Promise<any[]>;
              runPost: (
                  table_id: string | number,
                  viewname: string,
                  param2: GenObj,
                  state: GenObj,
                  body: GenObj,
                  param5: { redirect?: string; req: Req; res: Res },
                  param6: GenObj,
                  remote?: boolean,
              ) => Promise<void>;
              virtual_triggers: (
                  table_id: string | number,
                  viewname: string,
                  param2: GenObj,
              ) => {
                  run: (row: GenObj, __namedParameters: GenObj) => Promise<void>;
                  table_id: string | number;
                  when_trigger: string;
              }[];
              getStringsForI18n(param0: GenObj): string[];
              interpolate_title_string(
                  table_id: string | number,
                  title: string,
                  state: GenObj,
              ): Promise<string>;
          }
          | {
              configuration_workflow: (req: Req) => Workflow;
              description: string;
              get_state_fields: () => never[];
              initial_config: () => Promise<{ columns: never[]; layout: {} }>;
              name: string;
              queries: (
                  __namedParameters: GenObj,
              ) => {
                  actionQuery(state: GenObj, rndid: string): Promise<any>;
                  distinctValuesQuery(
                      state: GenObj,
                  ): Promise<{ distinct_values: GenObj; role: any }>;
                  optionsQuery(
                      reftable_name: string,
                      type: string,
                      attributes: GenObj,
                      whereWithExisting: GenObj,
                      user: GenObj,
                  ): Promise<any>;
              };
              routes: {
                  run_action: (
                      table_id: string | number,
                      viewname: string,
                      config: GenObj,
                      body: GenObj,
                      __namedParameters: { req: Req; res: Res },
                      __namedParameters: GenObj,
                  ) => Promise<any>;
              };
              run: (
                  table_id: string | number,
                  viewname: string,
                  opts: { columns: Column[]; layout: Layout },
                  state: GenObj,
                  extra: { req: Req; res: Res; [key: string]: any },
                  __namedParameters: GenObj,
              ) => Promise<string>;
              getStringsForI18n(opts: GenObj): any;
          }
      )[]