export function getApprovalDrawerSchema(instance: any, events: any): Promise<{
    type: string;
    overlay: boolean;
    resizable: boolean;
    closeOnEsc: boolean;
    closeOnOutside: boolean;
    size: string;
    title: string;
    className: string;
    headerClassName: string;
    bodyClassName: string;
    footerClassName: string;
    drawerContainer: () => Element;
    body: {
        type: string;
        initApi: {
            method: string;
            url: string;
        };
        debug: boolean;
        id: string;
        resetAfterSubmit: boolean;
        clearPersistDataAfterSubmit: boolean;
        persistData: string;
        body: ({
            type: string;
            label: boolean;
            name: string;
            value: string;
            options: {
                label: string;
                value: string;
            }[];
            id: string;
            required: boolean;
            onEvent: {
                change: {
                    weight: number;
                    actions: ({
                        componentId: string;
                        args: {
                            value: {
                                new_judge: string;
                                next_step: any;
                            };
                            judge?: undefined;
                        };
                        actionType: string;
                        eventName?: undefined;
                    } | {
                        args: {
                            judge: string;
                            value?: undefined;
                        };
                        actionType: string;
                        eventName: string;
                        componentId?: undefined;
                    })[];
                };
            };
        } | {
            type: string;
            columns: ({
                body: {
                    type: string;
                    tpl: string;
                    inline: boolean;
                    wrapperComponent: string;
                    id: string;
                }[];
                id: string;
                md: string;
                valign: string;
            } | {
                body: {
                    type: string;
                    label: string;
                    name: string;
                    id: string;
                    multiple: boolean;
                    required: boolean;
                    autoFill: {
                        new_next_step: string;
                    };
                    source: {
                        url: string;
                        headers: {
                            Authorization: string;
                        };
                        method: string;
                        messages: {};
                        requestAdaptor: string;
                        adaptor: string;
                        data: {
                            context: string;
                            $scopeId: string;
                            judge: string;
                        };
                    };
                    onEvent: {
                        change: {
                            weight: number;
                            actions: any[];
                        };
                    };
                }[];
                id: string;
                md?: undefined;
                valign?: undefined;
            })[];
            id: string;
            className: string;
            subFormMode: string;
        } | {
            type: string;
            columns: ({
                body: {
                    type: string;
                    tpl: string;
                    inline: boolean;
                    wrapperComponent: string;
                    id: string;
                }[];
                id: string;
                md: string;
                valign: string;
            } | {
                body: ({
                    type: string;
                    label: string;
                    name: string;
                    id: string;
                    hiddenOn: string;
                    required: boolean;
                    onEvent: {
                        change: {
                            weight: number;
                            actions: any[];
                        };
                    };
                    multiple?: undefined;
                    source?: undefined;
                    labelField?: undefined;
                    valueField?: undefined;
                    value?: undefined;
                    joinValues?: undefined;
                    extractValue?: undefined;
                } | {
                    type: string;
                    label: string;
                    name: string;
                    id: string;
                    hiddenOn: string;
                    required: boolean;
                    multiple: boolean;
                    onEvent: {
                        change: {
                            weight: number;
                            actions: any[];
                        };
                    };
                    source?: undefined;
                    labelField?: undefined;
                    valueField?: undefined;
                    value?: undefined;
                    joinValues?: undefined;
                    extractValue?: undefined;
                } | {
                    type: string;
                    label: string;
                    name: string;
                    id: string;
                    required: boolean;
                    hiddenOn: string;
                    multiple: boolean;
                    source: {
                        url: string;
                        method: string;
                        sendOn: string;
                        headers: {
                            Authorization: string;
                        };
                        messages: {};
                        requestAdaptor: string;
                        adaptor: string;
                        data: {
                            "&": string;
                            $scopeId: string;
                            context: string;
                            next_step: string;
                        };
                    };
                    labelField: string;
                    valueField: string;
                    value: string;
                    joinValues: boolean;
                    extractValue: boolean;
                    onEvent: {
                        change: {
                            weight: number;
                            actions: any[];
                        };
                    };
                })[];
                id: string;
                md?: undefined;
                valign?: undefined;
            })[];
            id: string;
            className: string;
            subFormMode: string;
            hiddenOn: string;
        } | {
            type: string;
            name: string;
            label?: undefined;
            id?: undefined;
            minRows?: undefined;
            maxRows?: undefined;
            placeholder?: undefined;
            requiredOn?: undefined;
            value?: undefined;
            onEvent?: undefined;
        } | {
            type: string;
            label: boolean;
            name: string;
            id: string;
            minRows: number;
            maxRows: number;
            placeholder: string;
            requiredOn: string;
            value: any;
            onEvent: {
                blur: {
                    actions: {
                        componentId: string;
                        actionType: string;
                        args: {
                            value: {
                                instance_my_approve_description: string;
                            };
                        };
                    }[];
                };
            };
        })[];
        onEvent: {
            approve_judge_change: {
                actions: {
                    actionType: string;
                    componentId: string;
                    args: {};
                }[];
            };
            inited: {
                actions: any[];
            };
        };
    }[];
    id: string;
    position: string;
    onEvent: {
        cancel: {
            actions: {
                actionType: string;
                script: (context: any, doAction: any, event: any) => void;
            }[];
        };
    };
    actions: ({
        type: string;
        label: string;
        onEvent: {
            click: {
                actions: any[];
            };
        };
        id: string;
        level: string;
    } | {
        type: string;
        label: string;
        onEvent: {
            click: {
                actions: {
                    componentId: string;
                    args: {};
                    actionType: string;
                }[];
            };
        };
        id: string;
        level?: undefined;
    })[];
}>;
