import { AxiosInstance } from 'axios';
import { Paged, PageQueryParams, ApiErrorHandler, BaseApi } from '../base';
import { City, Province, County, Product, Tenant, IOrg, IOrgParam, IUser, IUserParam, IProductRole, IUserRoleParam, IRole, IRaw, IUserInfo, IPermission, AppInfo, TenantUserInfo, OrgPageQueryParams, UploadResponse, UploadTickets, TenantKeySecretInfo } from './model';
export declare class DataApi extends BaseApi {
    constructor(axiosInstance?: AxiosInstance, errorHandler?: ApiErrorHandler);
    getTenant(code: string): Promise<Tenant>;
    listProduct(): Promise<Product[]>;
    listProvinces(): Promise<Province[]>;
    listCities(provinceId: string): Promise<City[]>;
    listCounties(provinceId: string, cityId: string): Promise<County[]>;
    getOrgList(params: OrgPageQueryParams): Promise<Paged<IOrg>>;
    getUserIdOrgList(id: number, params: PageQueryParams): Promise<Paged<IOrg>>;
    delOrg(id: number): Promise<IOrg>;
    postOrg(params: IOrgParam): Promise<IOrg>;
    patchOrg(id: number, params: IOrgParam): Promise<IOrg>;
    getUsers(code: string | undefined, params: PageQueryParams): Promise<Paged<IUser>>;
    delUser(code: string | undefined, id: number): Promise<IUser>;
    postUser(code: string | undefined, params: IUserParam): Promise<IUser>;
    patchUser(code: string | undefined, id: number, params: IOrgParam): Promise<IOrg>;
    getTenantList(): Promise<Tenant[]>;
    getUserIdRoles(id: number): Promise<IRole[]>;
    getProductCodeRole(code: string): Promise<IProductRole[]>;
    postUserRole(id: number, params: IUserRoleParam): Promise<IProductRole>;
    patchUserRole(id: number, rid: number, params: IUserRoleParam): Promise<IProductRole>;
    deleteUserRole(id: number, rid: number): Promise<IProductRole>;
    getUsersIdProductCodeMenu(id: string, code: string, groupCode: string | undefined, level: number): Promise<IRaw[]>;
    getUserInfo(id: string): Promise<IUserInfo>;
    uipermission(id: string, code: string, groupCode?: string): Promise<IPermission[]>;
    getAppInfo(code: string): Promise<AppInfo>;
    getTenantUserInfo(code: string, id: string): Promise<TenantUserInfo>;
    uploadFile(data: FormData): Promise<UploadResponse>;
    getUserIdProductCodeOrg(id: string, code: string): Promise<IOrg[]>;
    getOrg(id: number | string): Promise<IOrg>;
    getUploadTicket(params: {
        isv: 'hw';
        productCode: 'gspace';
    }): Promise<UploadTickets>;
    putAppInfo(code: string, params: AppInfo): Promise<null>;
    getTenantKeySecret(tenCode: string): Promise<TenantKeySecretInfo>;
    resetTenantKeySecret(tenCode: string): Promise<null>;
    getProductsCode(code: string): Promise<Product>;
}
