type ObjectMap<Key extends string | number | symbol = any, Value = any> = {
    [key in Key]: Value
}

declare namespace defs {
    export class DictItemVo {
        /** 字典选项描述 */
        description?: string

        /** 字典选项是否启用 */
        enable?: boolean

        /** id */
        id?: string

        /** 字典选项名称 */
        name?: string

        /** 字典选项排序序号 */
        serial?: number

        /** 字典选项值 */
        value?: string
    }

    export class DictVo {
        /** 字典编号 */
        code?: string

        /** 字典描述 */
        description?: string

        /** id */
        id?: string

        /** 字典名称 */
        name?: string
    }

    export class KeyValueVo {
        /** 是否启用 */
        enable?: string

        /** key */
        key?: string

        /** label */
        label?: string

        /** value */
        value?: string
    }

    export class LoginVo {
        /** token */
        token?: string

        /** 用户 ID */
        userId?: string
    }

    export class MenuVo {
        /** 子权限 */
        children?: Array<defs.MenuVo>

        /** 组件 */
        component?: string

        /** 元数据 */
        meta?: ObjectMap<any, object>

        /** 名称 */
        name?: string

        /** 路径 */
        path?: string

        /** 重定向 */
        redirect?: string

        /** 唯一标识 */
        uid?: string
    }

    export class PageParam {
        /** 当前页数 */
        pageNo?: number

        /** 分页条数 */
        pageSize?: number

        /** 排序字段 */
        sortField?: string

        /** 排序方向（ASC|DESC） */
        sortOrder?: 'ASC' | 'DESC'
    }

    export class PageVoDictItemVo {
        /** 数据 */
        data?: Array<defs.DictItemVo>

        /** 数据最新时间 */
        latest?: string

        /** 数据总数 */
        total?: number
    }

    export class PageVoDictVo {
        /** 数据 */
        data?: Array<defs.DictVo>

        /** 数据最新时间 */
        latest?: string

        /** 数据总数 */
        total?: number
    }

    export class PageVoPermissionVo {
        /** 数据 */
        data?: Array<defs.PermissionVo>

        /** 数据最新时间 */
        latest?: string

        /** 数据总数 */
        total?: number
    }

    export class PageVoRoleVo {
        /** 数据 */
        data?: Array<defs.RoleVo>

        /** 数据最新时间 */
        latest?: string

        /** 数据总数 */
        total?: number
    }

    export class PageVoString {
        /** 数据 */
        data?: Array<string>

        /** 数据最新时间 */
        latest?: string

        /** 数据总数 */
        total?: number
    }

    export class PageVoUserVo {
        /** 数据 */
        data?: Array<defs.UserVo>

        /** 数据最新时间 */
        latest?: string

        /** 数据总数 */
        total?: number
    }

    export class PermissionParam {
        /** 组件 */
        component?: string

        /** 是否启用 */
        enable?: boolean

        /** 是否隐藏 */
        hidden?: boolean

        /** 图标 */
        icon?: string

        /** id */
        id?: string

        /** 元数据 */
        meta?: ObjectMap<any, object>

        /** 名称 */
        name?: string

        /** 路径 */
        path?: string

        /** 父级ID */
        pid?: string

        /** 重定向 */
        redirect?: string

        /** 序号 */
        serial?: number

        /** 权限类型 */
        type?: 'DIR' | 'MENU' | 'BUTTON'

        /** 标识 */
        uid?: string
    }

    export class PermissionVo {
        /** children */
        children?: Array<defs.PermissionVo>

        /** component */
        component?: string

        /** enable */
        enable?: boolean

        /** hidden */
        hidden?: boolean

        /** icon */
        icon?: string

        /** id */
        id?: string

        /** meta */
        meta?: ObjectMap<any, object>

        /** name */
        name?: string

        /** path */
        path?: string

        /** pid */
        pid?: string

        /** serial */
        serial?: number

        /** type */
        type?: 'DIR' | 'MENU' | 'BUTTON'

        /** uid */
        uid?: string
    }

    export class ResultArrayListKeyValueVo {
        /** 内容 */
        body?: Array<defs.KeyValueVo>

        /** 业务标识码 */
        code?: number

        /** 详细信息 */
        details?: string

        /** 异常信息 */
        error?: string

        /** 消息 */
        message?: string

        /** 状态码 */
        status?: number

        /** 耗时 */
        times?: string

        /** 响应时间 */
        timestamp?: string
    }

    export class ResultArrayListMenuVo {
        /** 内容 */
        body?: Array<defs.MenuVo>

        /** 业务标识码 */
        code?: number

        /** 详细信息 */
        details?: string

        /** 异常信息 */
        error?: string

        /** 消息 */
        message?: string

        /** 状态码 */
        status?: number

        /** 耗时 */
        times?: string

        /** 响应时间 */
        timestamp?: string
    }

    export class ResultArrayListPermissionVo {
        /** 内容 */
        body?: Array<defs.PermissionVo>

        /** 业务标识码 */
        code?: number

        /** 详细信息 */
        details?: string

        /** 异常信息 */
        error?: string

        /** 消息 */
        message?: string

        /** 状态码 */
        status?: number

        /** 耗时 */
        times?: string

        /** 响应时间 */
        timestamp?: string
    }

    export class ResultArrayListRoleVo {
        /** 内容 */
        body?: Array<defs.RoleVo>

        /** 业务标识码 */
        code?: number

        /** 详细信息 */
        details?: string

        /** 异常信息 */
        error?: string

        /** 消息 */
        message?: string

        /** 状态码 */
        status?: number

        /** 耗时 */
        times?: string

        /** 响应时间 */
        timestamp?: string
    }

    export class ResultArrayListString {
        /** 内容 */
        body?: Array<string>

        /** 业务标识码 */
        code?: number

        /** 详细信息 */
        details?: string

        /** 异常信息 */
        error?: string

        /** 消息 */
        message?: string

        /** 状态码 */
        status?: number

        /** 耗时 */
        times?: string

        /** 响应时间 */
        timestamp?: string
    }

    export class ResultBoolean {
        /** 内容 */
        body?: boolean

        /** 业务标识码 */
        code?: number

        /** 详细信息 */
        details?: string

        /** 异常信息 */
        error?: string

        /** 消息 */
        message?: string

        /** 状态码 */
        status?: number

        /** 耗时 */
        times?: string

        /** 响应时间 */
        timestamp?: string
    }

    export class ResultDictItemVo {
        /** body */
        body?: defs.DictItemVo

        /** 业务标识码 */
        code?: number

        /** 详细信息 */
        details?: string

        /** 异常信息 */
        error?: string

        /** 消息 */
        message?: string

        /** 状态码 */
        status?: number

        /** 耗时 */
        times?: string

        /** 响应时间 */
        timestamp?: string
    }

    export class ResultDictVo {
        /** body */
        body?: defs.DictVo

        /** 业务标识码 */
        code?: number

        /** 详细信息 */
        details?: string

        /** 异常信息 */
        error?: string

        /** 消息 */
        message?: string

        /** 状态码 */
        status?: number

        /** 耗时 */
        times?: string

        /** 响应时间 */
        timestamp?: string
    }

    export class ResultLoginVo {
        /** body */
        body?: defs.LoginVo

        /** 业务标识码 */
        code?: number

        /** 详细信息 */
        details?: string

        /** 异常信息 */
        error?: string

        /** 消息 */
        message?: string

        /** 状态码 */
        status?: number

        /** 耗时 */
        times?: string

        /** 响应时间 */
        timestamp?: string
    }

    export class ResultPageVoDictItemVo {
        /** body */
        body?: defs.PageVoDictItemVo

        /** 业务标识码 */
        code?: number

        /** 详细信息 */
        details?: string

        /** 异常信息 */
        error?: string

        /** 消息 */
        message?: string

        /** 状态码 */
        status?: number

        /** 耗时 */
        times?: string

        /** 响应时间 */
        timestamp?: string
    }

    export class ResultPageVoDictVo {
        /** body */
        body?: defs.PageVoDictVo

        /** 业务标识码 */
        code?: number

        /** 详细信息 */
        details?: string

        /** 异常信息 */
        error?: string

        /** 消息 */
        message?: string

        /** 状态码 */
        status?: number

        /** 耗时 */
        times?: string

        /** 响应时间 */
        timestamp?: string
    }

    export class ResultPageVoPermissionVo {
        /** body */
        body?: defs.PageVoPermissionVo

        /** 业务标识码 */
        code?: number

        /** 详细信息 */
        details?: string

        /** 异常信息 */
        error?: string

        /** 消息 */
        message?: string

        /** 状态码 */
        status?: number

        /** 耗时 */
        times?: string

        /** 响应时间 */
        timestamp?: string
    }

    export class ResultPageVoRoleVo {
        /** body */
        body?: defs.PageVoRoleVo

        /** 业务标识码 */
        code?: number

        /** 详细信息 */
        details?: string

        /** 异常信息 */
        error?: string

        /** 消息 */
        message?: string

        /** 状态码 */
        status?: number

        /** 耗时 */
        times?: string

        /** 响应时间 */
        timestamp?: string
    }

    export class ResultPageVoString {
        /** body */
        body?: defs.PageVoString

        /** 业务标识码 */
        code?: number

        /** 详细信息 */
        details?: string

        /** 异常信息 */
        error?: string

        /** 消息 */
        message?: string

        /** 状态码 */
        status?: number

        /** 耗时 */
        times?: string

        /** 响应时间 */
        timestamp?: string
    }

    export class ResultPageVoUserVo {
        /** body */
        body?: defs.PageVoUserVo

        /** 业务标识码 */
        code?: number

        /** 详细信息 */
        details?: string

        /** 异常信息 */
        error?: string

        /** 消息 */
        message?: string

        /** 状态码 */
        status?: number

        /** 耗时 */
        times?: string

        /** 响应时间 */
        timestamp?: string
    }

    export class ResultPermissionVo {
        /** body */
        body?: defs.PermissionVo

        /** 业务标识码 */
        code?: number

        /** 详细信息 */
        details?: string

        /** 异常信息 */
        error?: string

        /** 消息 */
        message?: string

        /** 状态码 */
        status?: number

        /** 耗时 */
        times?: string

        /** 响应时间 */
        timestamp?: string
    }

    export class ResultRoleVo {
        /** body */
        body?: defs.RoleVo

        /** 业务标识码 */
        code?: number

        /** 详细信息 */
        details?: string

        /** 异常信息 */
        error?: string

        /** 消息 */
        message?: string

        /** 状态码 */
        status?: number

        /** 耗时 */
        times?: string

        /** 响应时间 */
        timestamp?: string
    }

    export class ResultString {
        /** 内容 */
        body?: string

        /** 业务标识码 */
        code?: number

        /** 详细信息 */
        details?: string

        /** 异常信息 */
        error?: string

        /** 消息 */
        message?: string

        /** 状态码 */
        status?: number

        /** 耗时 */
        times?: string

        /** 响应时间 */
        timestamp?: string
    }

    export class ResultUserExtensionVo {
        /** body */
        body?: defs.UserExtensionVo

        /** 业务标识码 */
        code?: number

        /** 详细信息 */
        details?: string

        /** 异常信息 */
        error?: string

        /** 消息 */
        message?: string

        /** 状态码 */
        status?: number

        /** 耗时 */
        times?: string

        /** 响应时间 */
        timestamp?: string
    }

    export class ResultUserInfo {
        /** body */
        body?: defs.UserInfo

        /** 业务标识码 */
        code?: number

        /** 详细信息 */
        details?: string

        /** 异常信息 */
        error?: string

        /** 消息 */
        message?: string

        /** 状态码 */
        status?: number

        /** 耗时 */
        times?: string

        /** 响应时间 */
        timestamp?: string
    }

    export class RoleVo {
        /** 主键 */
        id?: string

        /** 名称 */
        name?: string

        /** 权限 */
        permissions?: Array<defs.PermissionVo>

        /** 标识 */
        uid?: string
    }

    export class UserExtensionVo {
        /** 年龄 */
        age?: number

        /** 性别 */
        gender?: any

        /** 简介 */
        introduction?: string
    }

    export class UserInfo {
        /** 头像 */
        avatar?: string

        /** 介绍 */
        desc?: string

        /** 用户主页 */
        homePath?: string

        /** 手机号 */
        mobile?: string

        /** 真实姓名 */
        realName?: string

        /** 角色 */
        roles?: Array<defs.RoleVo>

        /** 主键 */
        userId?: string

        /** 用户名 */
        username?: string
    }

    export class UserVo {
        /** 头像 */
        avatar?: string

        /** 最后登录时间 */
        createTime?: string

        /** 是否删除 */
        deleted?: boolean

        /** 邮箱 */
        email?: string

        /** 是否启用 */
        enabled?: boolean

        /** 主键 */
        id?: string

        /** 最后登录IP地址 */
        lastLoginIp?: string

        /** 最后登录时间 */
        lastLoginTime?: string

        /** 手机号 */
        mobile?: string

        /** 真实姓名 */
        realName?: string

        /** 职称 */
        title?: string

        /** 用户名 */
        username?: string
    }
}

declare namespace API {
    /**
     * 身份认证
     */
    export namespace auth {
        /**
         * 登录
         * /auth/login
         */
        export namespace login {
            export class Params {
                /** 账号(支持用户名/手机号/邮箱) */
                account: string
                /** 密码 */
                password: string
            }

            export type Response = defs.LoginVo

            export const init: Response

            export function request(
                params: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 登出
         * /auth/logout
         */
        export namespace logout {
            export class Params {}

            export type Response = string

            export const init: Response

            export function request(
                params?: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 注册
         * /auth/register
         */
        export namespace register {
            export class Params {
                /** 用户名 */
                username: string
                /** 密码 */
                password: string
                /** 真实姓名 */
                realName: string
                /** 手机号 */
                mobile: string
                /** 头像 */
                avatar?: string
                /** 邮箱 */
                email?: string
                /** 是否启用 */
                enable?: boolean
            }

            export type Response = string

            export const init: Response

            export function request(
                params: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 安全验证
         * /auth/safe
         */
        export namespace safe {
            export class Params {
                /** 密码 */
                password: string
            }

            export type Response = string

            export const init: Response

            export function request(
                params: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 检查登录
         * /auth/valid
         */
        export namespace valid {
            export class Params {}

            export type Response = defs.Boolean

            export const init: Response

            export function request(
                params?: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }
    }

    /**
     * 字典管理
     */
    export namespace dict {
        /**
         * 新增
         * /sys/dict/add
         */
        export namespace add {
            export class Params {
                /** id */
                id: string
                /** 字典名称 */
                name: string
                /** 字典编号 */
                code: string
                /** 字典描述 */
                description?: string
            }

            export type Response = string

            export const init: Response

            export function request(
                params: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 查询
         * /sys/dict/find
         */
        export namespace find {
            export class Params {
                /** id */
                id: string
            }

            export type Response = defs.DictVo

            export const init: Response

            export function request(
                params: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 修改
         * /sys/dict/modify
         */
        export namespace modify {
            export class Params {
                /** id */
                id: string
                /** 字典名称 */
                name: string
                /** 字典编号 */
                code: string
                /** 字典描述 */
                description?: string
            }

            export type Response = string

            export const init: Response

            export function request(
                params: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 分页查询
         * /sys/dict/page
         */
        export namespace page {
            export class Params {
                /** 分页条数 */
                pageSize: number
                /** 当前页数 */
                pageNo: number
                /** 排序字段 */
                sortField?: string
                /** 排序方向（ASC|DESC） */
                sortOrder?: string
            }

            export type Response = defs.PageVoDictVo

            export const init: Response

            export function request(
                params: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 删除
         * /sys/dict/remove
         */
        export namespace remove {
            export class Params {
                /** ids 多个以逗号分割 */
                ids: string
            }

            export type Response = string

            export const init: Response

            export function request(
                params: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 选项查询
         * /sys/dict/selector
         */
        export namespace selector {
            export class Params {}

            export type Response = defs.ArrayListKeyValueVo

            export const init: Response

            export function request(
                params?: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }
    }

    /**
     * 字典选项管理
     */
    export namespace dictItem {
        /**
         * 新增
         * /sys/dict/item/add
         */
        export namespace add {
            export class Params {
                /** id */
                id: string
                /** 字典 ID */
                dictId: string
                /** 字典选项名称 */
                name: string
                /** 字典选项值 */
                value: string
                /** 字典选项描述 */
                description?: string
                /** 字典选项排序序号 */
                serial?: number
                /** 字典选项是否启用 */
                enable: boolean
            }

            export type Response = string

            export const init: Response

            export function request(
                params: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 查询
         * /sys/dict/item/find
         */
        export namespace find {
            export class Params {
                /** id */
                id: string
            }

            export type Response = defs.DictItemVo

            export const init: Response

            export function request(
                params: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 修改
         * /sys/dict/item/modify
         */
        export namespace modify {
            export class Params {
                /** id */
                id: string
                /** 字典 ID */
                dictId: string
                /** 字典选项名称 */
                name: string
                /** 字典选项值 */
                value: string
                /** 字典选项描述 */
                description?: string
                /** 字典选项排序序号 */
                serial?: number
                /** 字典选项是否启用 */
                enable: boolean
            }

            export type Response = string

            export const init: Response

            export function request(
                params: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 分页查询
         * /sys/dict/item/page
         */
        export namespace page {
            export class Params {
                /** 分页条数 */
                pageSize: number
                /** 当前页数 */
                pageNo: number
                /** 排序字段 */
                sortField?: string
                /** 排序方向（ASC|DESC） */
                sortOrder?: string
            }

            export type Response = defs.PageVoDictItemVo

            export const init: Response

            export function request(
                params: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 删除
         * /sys/dict/item/remove
         */
        export namespace remove {
            export class Params {
                /** ids 多个以逗号分割 */
                ids: string
            }

            export type Response = string

            export const init: Response

            export function request(
                params: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 选项查询
         * /sys/dict/item/selector
         */
        export namespace selector {
            export class Params {
                /** 字典 ID */
                dictId?: string
                /** 字典 ID */
                dictCode?: string
                /** 字典选项是否启用 */
                enable?: boolean
            }

            export type Response = defs.ArrayListKeyValueVo

            export const init: Response

            export function request(
                params: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }
    }

    /**
     * 示例
     */
    export namespace example {
        /**
         * Hello World
         * /example/
         */
        export namespace hello {
            export class Params {}

            export type Response = string

            export const init: Response

            export function request(
                params?: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 文件下载
         * /example/download
         */
        export namespace download {
            export class Params {}

            export type Response = void

            export const init: Response

            export function request(
                params?: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 测试失败
         * /example/fail
         */
        export namespace fail {
            export class Params {}

            export type Response = string

            export const init: Response

            export function request(
                params?: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 查询用户属性
         * /example/findUserExtensionInfo
         */
        export namespace findUserExtensionInfo {
            export class Params {}

            export type Response = defs.UserExtensionVo

            export const init: Response

            export function request(
                params?: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * JSON 传参
         * /example/json
         */
        export namespace json {
            export class Params {}

            export type Response = defs.PageVoString

            export const init: Response

            export function request(
                body?: defs.PageParam,
                config?: http.RequestConfig<defs.PageParam>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 分页条件查询
         * /example/page
         */
        export namespace page {
            export class Params {
                /** 分页条数 */
                pageSize: number
                /** 当前页数 */
                pageNo: number
                /** 排序字段 */
                sortField?: string
                /** 排序方向（ASC|DESC） */
                sortOrder?: string
            }

            export type Response = defs.PageVoString

            export const init: Response

            export function request(
                params: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 文件上传
         * /example/upload
         */
        export namespace upload {
            export class Params {}

            export type Response = string

            export const init: Response

            export function request(
                body?: object,
                config?: http.RequestConfig<object>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }
    }

    /**
     * 文件管理
     */
    export namespace file {
        /**
         * 文件下载
         * /common/file/download
         */
        export namespace download {
            export class Params {
                /** bucket */
                bucket: string
                /** object */
                object: string
            }

            export type Response = void

            export const init: Response

            export function request(
                params: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 文件上传
         * /common/file/upload
         */
        export namespace upload {
            export class Params {}

            export type Response = string

            export const init: Response

            export function request(
                body?: object,
                config?: http.RequestConfig<object>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * Base64 图片上传
         * /common/file/uploadBase64Image
         */
        export namespace uploadBase64Image {
            export class Params {}

            export type Response = string

            export const init: Response

            export function request(
                body?: string,
                config?: http.RequestConfig<string>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }
    }

    /**
     * 权限管理
     */
    export namespace permission {
        /**
         * 新增
         * /sys/permission/add
         */
        export namespace add {
            export class Params {}

            export type Response = string

            export const init: Response

            export function request(
                body?: defs.PermissionParam,
                config?: http.RequestConfig<defs.PermissionParam>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 查询
         * /sys/permission/find
         */
        export namespace find {
            export class Params {
                /** id */
                id: string
            }

            export type Response = defs.PermissionVo

            export const init: Response

            export function request(
                params: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 修改
         * /sys/permission/modify
         */
        export namespace modify {
            export class Params {}

            export type Response = string

            export const init: Response

            export function request(
                body?: defs.PermissionParam,
                config?: http.RequestConfig<defs.PermissionParam>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 分页查询
         * /sys/permission/page
         */
        export namespace page {
            export class Params {
                /** 分页条数 */
                pageSize: number
                /** 当前页数 */
                pageNo: number
                /** 排序字段 */
                sortField?: string
                /** 排序方向（ASC|DESC） */
                sortOrder?: string
            }

            export type Response = defs.PageVoPermissionVo

            export const init: Response

            export function request(
                params: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 删除
         * /sys/permission/remove
         */
        export namespace remove {
            export class Params {
                /** id */
                id: string
            }

            export type Response = string

            export const init: Response

            export function request(
                params: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 树结构查询
         * /sys/permission/tree
         */
        export namespace tree {
            export class Params {
                /** pid */
                pid: string
            }

            export type Response = defs.ArrayListPermissionVo

            export const init: Response

            export function request(
                params: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }
    }

    /**
     * 角色管理
     */
    export namespace role {
        /**
         * 新增
         * /sys/role/add
         */
        export namespace add {
            export class Params {
                /** id */
                id: string
                /** 标识 */
                uid: string
                /** 名称 */
                name: string
            }

            export type Response = string

            export const init: Response

            export function request(
                params: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 分配权限
         * /sys/role/assign
         */
        export namespace assign {
            export class Params {
                /** id */
                id: string
                /** ids 多个以逗号分割 */
                ids: string
            }

            export type Response = string

            export const init: Response

            export function request(
                params: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 查询
         * /sys/role/find
         */
        export namespace find {
            export class Params {
                /** id */
                id: string
            }

            export type Response = defs.RoleVo

            export const init: Response

            export function request(
                params: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 修改
         * /sys/role/modify
         */
        export namespace modify {
            export class Params {
                /** id */
                id: string
                /** 标识 */
                uid: string
                /** 名称 */
                name: string
            }

            export type Response = string

            export const init: Response

            export function request(
                params: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 分页查询
         * /sys/role/page
         */
        export namespace page {
            export class Params {
                /** 分页条数 */
                pageSize: number
                /** 当前页数 */
                pageNo: number
                /** 排序字段 */
                sortField?: string
                /** 排序方向（ASC|DESC） */
                sortOrder?: string
            }

            export type Response = defs.PageVoRoleVo

            export const init: Response

            export function request(
                params: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 删除
         * /sys/role/remove
         */
        export namespace remove {
            export class Params {
                /** ids 多个以逗号分割 */
                ids: string
            }

            export type Response = string

            export const init: Response

            export function request(
                params: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 选项查询
         * /sys/role/selector
         */
        export namespace selector {
            export class Params {}

            export type Response = defs.ArrayListRoleVo

            export const init: Response

            export function request(
                params?: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }
    }

    /**
     * 用户管理
     */
    export namespace user {
        /**
         * 分配角色
         * /sys/user/assign
         */
        export namespace assign {
            export class Params {
                /** id */
                id: string
                /** ids 多个以逗号分割 */
                ids: string
            }

            export type Response = string

            export const init: Response

            export function request(
                params: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 分页查询
         * /sys/user/page
         */
        export namespace page {
            export class Params {
                /** 分页条数 */
                pageSize: number
                /** 当前页数 */
                pageNo: number
                /** 排序字段 */
                sortField?: string
                /** 排序方向（ASC|DESC） */
                sortOrder?: string
            }

            export type Response = defs.PageVoUserVo

            export const init: Response

            export function request(
                params: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }
    }

    /**
     * 用户信息
     */
    export namespace userView {
        /**
         * 获取用户菜单
         * /user/getMenuList
         */
        export namespace getMenuList {
            export class Params {}

            export type Response = defs.ArrayListMenuVo

            export const init: Response

            export function request(
                params?: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 获取用户权限
         * /user/getPermCode
         */
        export namespace getPermCode {
            export class Params {}

            export type Response = defs.ArrayListString

            export const init: Response

            export function request(
                params?: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }

        /**
         * 获取登录用户信息
         * /user/getUserInfo
         */
        export namespace getUserInfo {
            export class Params {}

            export type Response = defs.UserInfo

            export const init: Response

            export function request(
                params?: Params,
                config?: http.RequestConfig<Params>,
                options?: http.RequestOptions,
            ): Promise<Response>
        }
    }
}
