/**
 */
import * as $Util from '@alicloud/tea-util';
import OpenApi, * as $OpenApi from '@alicloud/openapi-client';
import * as $tea from '@alicloud/tea-typescript';
export declare class GetDeptHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetDeptRequest extends $tea.Model {
    /**
     * @example
     * zh_CN
     */
    language?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    subCorpId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetDeptResponseBody extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    departmentId?: number;
    /**
     * @remarks
     * This parameter is required.
     */
    departmentName?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    fromUnionOrg?: boolean;
    /**
     * @remarks
     * This parameter is required.
     */
    order?: number;
    /**
     * @remarks
     * This parameter is required.
     */
    parentDepartmentId?: number;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetDeptResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: GetDeptResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetResidentDeptHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetResidentDeptRequest extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    subCorpId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetResidentDeptResponseBody extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    contactType?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    departmentId?: number;
    /**
     * @remarks
     * This parameter is required.
     */
    departmentName?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    deptType?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    feature?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetResidentDeptResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: GetResidentDeptResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetResidentUserInfoHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetResidentUserInfoRequest extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    subCorpId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetResidentUserInfoResponseBody extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    feature?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    name?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    roles?: GetResidentUserInfoResponseBodyRoles[];
    /**
     * @remarks
     * This parameter is required.
     */
    unionId?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    userid?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetResidentUserInfoResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: GetResidentUserInfoResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetUserHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetUserRequest extends $tea.Model {
    /**
     * @example
     * zh_CN
     */
    language?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    subCorpId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetUserResponseBody extends $tea.Model {
    active?: boolean;
    admin?: boolean;
    boss?: boolean;
    departmentIdList?: number[];
    departmentOrderSet?: GetUserResponseBodyDepartmentOrderSet[];
    exclusiveAccount?: boolean;
    exclusiveAccountType?: string;
    extension?: string;
    hiredDate?: number;
    jobNumber?: string;
    leaderInDepartment?: GetUserResponseBodyLeaderInDepartment[];
    managerUserId?: string;
    name?: string;
    realAuthed?: boolean;
    remark?: string;
    roleList?: GetUserResponseBodyRoleList[];
    senior?: boolean;
    title?: string;
    unionEmpExt?: GetUserResponseBodyUnionEmpExt;
    unionId?: string;
    userId?: string;
    workPlace?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetUserResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: GetUserResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetUserByUnionIdHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetUserByUnionIdRequest extends $tea.Model {
    /**
     * @example
     * zh_CN
     */
    language?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    subCorpId?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    unionId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetUserByUnionIdResponseBody extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    contactType?: number;
    /**
     * @remarks
     * This parameter is required.
     */
    userId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetUserByUnionIdResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: GetUserByUnionIdResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetVillageOrgInfoHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetVillageOrgInfoResponseBody extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    regionId?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    regionLocation?: string;
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * 省份：PROVINCE;城市：CITY;县区：COUNTRY;乡镇：TOWN;村：VILLAGE
     */
    regionType?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetVillageOrgInfoResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: GetVillageOrgInfoResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListDeptSimpleUsersHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListDeptSimpleUsersRequest extends $tea.Model {
    containAccessLimit?: boolean;
    cursor?: number;
    language?: string;
    orderField?: string;
    size?: number;
    subCorpId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListDeptSimpleUsersResponseBody extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    hasMore?: boolean;
    /**
     * @remarks
     * This parameter is required.
     */
    nextCursor?: number;
    /**
     * @remarks
     * This parameter is required.
     */
    totalCount?: number;
    /**
     * @remarks
     * This parameter is required.
     */
    userList?: ListDeptSimpleUsersResponseBodyUserList[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListDeptSimpleUsersResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: ListDeptSimpleUsersResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListDeptUserIdsHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListDeptUserIdsRequest extends $tea.Model {
    subCorpId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListDeptUserIdsResponseBody extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    userIdList?: string[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListDeptUserIdsResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: ListDeptUserIdsResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListDeptUsersHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListDeptUsersRequest extends $tea.Model {
    containAccessLimit?: boolean;
    cursor?: number;
    language?: string;
    orderField?: string;
    size?: number;
    subCorpId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListDeptUsersResponseBody extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    hasMore?: boolean;
    /**
     * @remarks
     * This parameter is required.
     */
    nextCursor?: number;
    /**
     * @remarks
     * This parameter is required.
     */
    userList?: ListDeptUsersResponseBodyUserList[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListDeptUsersResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: ListDeptUsersResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListParentByDeptHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListParentByDeptRequest extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    departmentId?: number;
    /**
     * @remarks
     * This parameter is required.
     */
    subCorpId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListParentByDeptResponseBody extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    departmentIdList?: number[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListParentByDeptResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: ListParentByDeptResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListParentByUserHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListParentByUserRequest extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    subCorpId?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    userId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListParentByUserResponseBody extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    departmentIdList?: number[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListParentByUserResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: ListParentByUserResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListResidentDeptUsersHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListResidentDeptUsersRequest extends $tea.Model {
    /**
     * @example
     * 1
     */
    cursor?: number;
    role?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    size?: number;
    /**
     * @remarks
     * This parameter is required.
     */
    subCorpId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListResidentDeptUsersResponseBody extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    hasMore?: boolean;
    /**
     * @remarks
     * This parameter is required.
     */
    nextCursor?: number;
    /**
     * @remarks
     * This parameter is required.
     */
    userList?: ListResidentDeptUsersResponseBodyUserList[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListResidentDeptUsersResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: ListResidentDeptUsersResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListResidentSubDeptsHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListResidentSubDeptsRequest extends $tea.Model {
    /**
     * @example
     * 1
     */
    cursor?: number;
    /**
     * @remarks
     * This parameter is required.
     */
    size?: number;
    /**
     * @remarks
     * This parameter is required.
     */
    subCorpId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListResidentSubDeptsResponseBody extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    departmentList?: ListResidentSubDeptsResponseBodyDepartmentList[];
    /**
     * @remarks
     * This parameter is required.
     */
    hasMore?: boolean;
    /**
     * @remarks
     * This parameter is required.
     */
    nextCursor?: number;
    /**
     * @remarks
     * This parameter is required.
     */
    total?: number;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListResidentSubDeptsResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: ListResidentSubDeptsResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListResidentUserInfosHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListResidentUserInfosRequest extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    subCorpId?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    userIds?: string[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListResidentUserInfosShrinkRequest extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    subCorpId?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    userIdsShrink?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListResidentUserInfosResponseBody extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    userList?: ListResidentUserInfosResponseBodyUserList[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListResidentUserInfosResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: ListResidentUserInfosResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListSimpleUsersByRoleHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListSimpleUsersByRoleRequest extends $tea.Model {
    offset?: number;
    roleId?: number;
    size?: number;
    subCorpId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListSimpleUsersByRoleResponseBody extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    hasMore?: boolean;
    /**
     * @remarks
     * This parameter is required.
     */
    nextCursor?: number;
    /**
     * @remarks
     * This parameter is required.
     */
    userList?: ListSimpleUsersByRoleResponseBodyUserList[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListSimpleUsersByRoleResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: ListSimpleUsersByRoleResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListSubCorpsHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListSubCorpsRequest extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    isOnlyDirect?: boolean;
    /**
     * @remarks
     * This parameter is required.
     */
    subCorpId?: string;
    /**
     * @example
     * county|community
     */
    types?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListSubCorpsResponseBody extends $tea.Model {
    corpList?: ListSubCorpsResponseBodyCorpList[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListSubCorpsResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: ListSubCorpsResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListSubDeptHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListSubDeptRequest extends $tea.Model {
    /**
     * @example
     * zh_CN
     */
    language?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    subCorpId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListSubDeptResponseBody extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    result?: ListSubDeptResponseBodyResult[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListSubDeptResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: ListSubDeptResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListSubDeptIdsHeaders extends $tea.Model {
    commonHeaders?: {
        [key: string]: string;
    };
    xAcsDingtalkAccessToken?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListSubDeptIdsRequest extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    subCorpId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListSubDeptIdsResponseBody extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    departmentIdList?: number[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListSubDeptIdsResponse extends $tea.Model {
    headers?: {
        [key: string]: string;
    };
    statusCode?: number;
    body?: ListSubDeptIdsResponseBody;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetResidentUserInfoResponseBodyRoles extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    roleId?: number;
    /**
     * @remarks
     * This parameter is required.
     */
    roleName?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    tagCode?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetUserResponseBodyDepartmentOrderSet extends $tea.Model {
    departmentId?: number;
    order?: number;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetUserResponseBodyLeaderInDepartment extends $tea.Model {
    departmentId?: number;
    leader?: boolean;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetUserResponseBodyRoleList extends $tea.Model {
    groupName?: string;
    roleId?: number;
    roleName?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetUserResponseBodyUnionEmpExtUnionEmpMapList extends $tea.Model {
    corpId?: string;
    staffId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class GetUserResponseBodyUnionEmpExt extends $tea.Model {
    corpId?: string;
    staffId?: string;
    unionEmpMapList?: GetUserResponseBodyUnionEmpExtUnionEmpMapList[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListDeptSimpleUsersResponseBodyUserList extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    name?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    userId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListDeptUsersResponseBodyUserList extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    active?: boolean;
    /**
     * @remarks
     * This parameter is required.
     */
    departmentList?: number[];
    /**
     * @remarks
     * This parameter is required.
     */
    jobNumber?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    name?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    unionId?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    userId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListResidentDeptUsersResponseBodyUserListRoles extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    tagCode?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    tagId?: number;
    /**
     * @remarks
     * This parameter is required.
     */
    tagName?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListResidentDeptUsersResponseBodyUserList extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    feature?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    name?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    roles?: ListResidentDeptUsersResponseBodyUserListRoles[];
    /**
     * @remarks
     * This parameter is required.
     */
    unionId?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    userId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListResidentSubDeptsResponseBodyDepartmentList extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    departmentId?: number;
    /**
     * @remarks
     * This parameter is required.
     */
    departmentName?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    superDepartmentId?: number;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListResidentUserInfosResponseBodyUserListRoles extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    tagCode?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    tagId?: number;
    /**
     * @remarks
     * This parameter is required.
     */
    tagName?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListResidentUserInfosResponseBodyUserList extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    feature?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    roles?: ListResidentUserInfosResponseBodyUserListRoles[];
    /**
     * @remarks
     * This parameter is required.
     */
    unionId?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    userId?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    userName?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListSimpleUsersByRoleResponseBodyUserList extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    jobNumber?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    name?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    unionId?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    userId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListSubCorpsResponseBodyCorpList extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    corpId?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    corpName?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    industry?: string;
    /**
     * @remarks
     * This parameter is required.
     *
     * @example
     * 149 区县，148 乡镇街道，145 村， 150 社区， 151 小区
     */
    industryCode?: number;
    regionId?: string;
    /**
     * @example
     * 浙江省_杭州市_余杭区_仓前街道
     */
    regionLocation?: string;
    /**
     * @remarks
     * This parameter is required.
     */
    regionType?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ListSubDeptResponseBodyResult extends $tea.Model {
    /**
     * @remarks
     * This parameter is required.
     */
    departmentId?: number;
    /**
     * @remarks
     * This parameter is required.
     */
    name?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    constructor(map?: {
        [key: string]: any;
    });
}
export default class Client extends OpenApi {
    constructor(config: $OpenApi.Config);
    /**
     * 获取部门详情
     *
     * @param request - GetDeptRequest
     * @param headers - GetDeptHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetDeptResponse
     */
    getDeptWithOptions(departmentId: string, request: GetDeptRequest, headers: GetDeptHeaders, runtime: $Util.RuntimeOptions): Promise<GetDeptResponse>;
    /**
     * 获取部门详情
     *
     * @param request - GetDeptRequest
     * @returns GetDeptResponse
     */
    getDept(departmentId: string, request: GetDeptRequest): Promise<GetDeptResponse>;
    /**
     * 居民通讯录获取部门信息
     *
     * @param request - GetResidentDeptRequest
     * @param headers - GetResidentDeptHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetResidentDeptResponse
     */
    getResidentDeptWithOptions(departmentId: string, request: GetResidentDeptRequest, headers: GetResidentDeptHeaders, runtime: $Util.RuntimeOptions): Promise<GetResidentDeptResponse>;
    /**
     * 居民通讯录获取部门信息
     *
     * @param request - GetResidentDeptRequest
     * @returns GetResidentDeptResponse
     */
    getResidentDept(departmentId: string, request: GetResidentDeptRequest): Promise<GetResidentDeptResponse>;
    /**
     * 居民通讯录获取部门下某个人的详细信息
     *
     * @param request - GetResidentUserInfoRequest
     * @param headers - GetResidentUserInfoHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetResidentUserInfoResponse
     */
    getResidentUserInfoWithOptions(departmentId: string, userId: string, request: GetResidentUserInfoRequest, headers: GetResidentUserInfoHeaders, runtime: $Util.RuntimeOptions): Promise<GetResidentUserInfoResponse>;
    /**
     * 居民通讯录获取部门下某个人的详细信息
     *
     * @param request - GetResidentUserInfoRequest
     * @returns GetResidentUserInfoResponse
     */
    getResidentUserInfo(departmentId: string, userId: string, request: GetResidentUserInfoRequest): Promise<GetResidentUserInfoResponse>;
    /**
     * 查询用户详情
     *
     * @param request - GetUserRequest
     * @param headers - GetUserHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetUserResponse
     */
    getUserWithOptions(userId: string, request: GetUserRequest, headers: GetUserHeaders, runtime: $Util.RuntimeOptions): Promise<GetUserResponse>;
    /**
     * 查询用户详情
     *
     * @param request - GetUserRequest
     * @returns GetUserResponse
     */
    getUser(userId: string, request: GetUserRequest): Promise<GetUserResponse>;
    /**
     * 根据unionId查询用户详情
     *
     * @param request - GetUserByUnionIdRequest
     * @param headers - GetUserByUnionIdHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetUserByUnionIdResponse
     */
    getUserByUnionIdWithOptions(request: GetUserByUnionIdRequest, headers: GetUserByUnionIdHeaders, runtime: $Util.RuntimeOptions): Promise<GetUserByUnionIdResponse>;
    /**
     * 根据unionId查询用户详情
     *
     * @param request - GetUserByUnionIdRequest
     * @returns GetUserByUnionIdResponse
     */
    getUserByUnionId(request: GetUserByUnionIdRequest): Promise<GetUserByUnionIdResponse>;
    /**
     * 获取对外开放的企业信息
     *
     * @param headers - GetVillageOrgInfoHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetVillageOrgInfoResponse
     */
    getVillageOrgInfoWithOptions(subCorpId: string, headers: GetVillageOrgInfoHeaders, runtime: $Util.RuntimeOptions): Promise<GetVillageOrgInfoResponse>;
    /**
     * 获取对外开放的企业信息
     * @returns GetVillageOrgInfoResponse
     */
    getVillageOrgInfo(subCorpId: string): Promise<GetVillageOrgInfoResponse>;
    /**
     * 查询部门下简略用户列表
     *
     * @param request - ListDeptSimpleUsersRequest
     * @param headers - ListDeptSimpleUsersHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ListDeptSimpleUsersResponse
     */
    listDeptSimpleUsersWithOptions(departmentId: string, request: ListDeptSimpleUsersRequest, headers: ListDeptSimpleUsersHeaders, runtime: $Util.RuntimeOptions): Promise<ListDeptSimpleUsersResponse>;
    /**
     * 查询部门下简略用户列表
     *
     * @param request - ListDeptSimpleUsersRequest
     * @returns ListDeptSimpleUsersResponse
     */
    listDeptSimpleUsers(departmentId: string, request: ListDeptSimpleUsersRequest): Promise<ListDeptSimpleUsersResponse>;
    /**
     * 查询部门下userid列表
     *
     * @param request - ListDeptUserIdsRequest
     * @param headers - ListDeptUserIdsHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ListDeptUserIdsResponse
     */
    listDeptUserIdsWithOptions(departmentId: string, request: ListDeptUserIdsRequest, headers: ListDeptUserIdsHeaders, runtime: $Util.RuntimeOptions): Promise<ListDeptUserIdsResponse>;
    /**
     * 查询部门下userid列表
     *
     * @param request - ListDeptUserIdsRequest
     * @returns ListDeptUserIdsResponse
     */
    listDeptUserIds(departmentId: string, request: ListDeptUserIdsRequest): Promise<ListDeptUserIdsResponse>;
    /**
     * 查询部门下user完整信息
     *
     * @param request - ListDeptUsersRequest
     * @param headers - ListDeptUsersHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ListDeptUsersResponse
     */
    listDeptUsersWithOptions(departmentId: string, request: ListDeptUsersRequest, headers: ListDeptUsersHeaders, runtime: $Util.RuntimeOptions): Promise<ListDeptUsersResponse>;
    /**
     * 查询部门下user完整信息
     *
     * @param request - ListDeptUsersRequest
     * @returns ListDeptUsersResponse
     */
    listDeptUsers(departmentId: string, request: ListDeptUsersRequest): Promise<ListDeptUsersResponse>;
    /**
     * 查询部门所有父部门列表
     *
     * @param request - ListParentByDeptRequest
     * @param headers - ListParentByDeptHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ListParentByDeptResponse
     */
    listParentByDeptWithOptions(request: ListParentByDeptRequest, headers: ListParentByDeptHeaders, runtime: $Util.RuntimeOptions): Promise<ListParentByDeptResponse>;
    /**
     * 查询部门所有父部门列表
     *
     * @param request - ListParentByDeptRequest
     * @returns ListParentByDeptResponse
     */
    listParentByDept(request: ListParentByDeptRequest): Promise<ListParentByDeptResponse>;
    /**
     * 查询用户所有父部门列表
     *
     * @param request - ListParentByUserRequest
     * @param headers - ListParentByUserHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ListParentByUserResponse
     */
    listParentByUserWithOptions(request: ListParentByUserRequest, headers: ListParentByUserHeaders, runtime: $Util.RuntimeOptions): Promise<ListParentByUserResponse>;
    /**
     * 查询用户所有父部门列表
     *
     * @param request - ListParentByUserRequest
     * @returns ListParentByUserResponse
     */
    listParentByUser(request: ListParentByUserRequest): Promise<ListParentByUserResponse>;
    /**
     * 居民通讯录获取部门下人员信息
     *
     * @param request - ListResidentDeptUsersRequest
     * @param headers - ListResidentDeptUsersHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ListResidentDeptUsersResponse
     */
    listResidentDeptUsersWithOptions(departmentId: string, request: ListResidentDeptUsersRequest, headers: ListResidentDeptUsersHeaders, runtime: $Util.RuntimeOptions): Promise<ListResidentDeptUsersResponse>;
    /**
     * 居民通讯录获取部门下人员信息
     *
     * @param request - ListResidentDeptUsersRequest
     * @returns ListResidentDeptUsersResponse
     */
    listResidentDeptUsers(departmentId: string, request: ListResidentDeptUsersRequest): Promise<ListResidentDeptUsersResponse>;
    /**
     * 居民通讯录获取子部门列表
     *
     * @param request - ListResidentSubDeptsRequest
     * @param headers - ListResidentSubDeptsHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ListResidentSubDeptsResponse
     */
    listResidentSubDeptsWithOptions(departmentId: string, request: ListResidentSubDeptsRequest, headers: ListResidentSubDeptsHeaders, runtime: $Util.RuntimeOptions): Promise<ListResidentSubDeptsResponse>;
    /**
     * 居民通讯录获取子部门列表
     *
     * @param request - ListResidentSubDeptsRequest
     * @returns ListResidentSubDeptsResponse
     */
    listResidentSubDepts(departmentId: string, request: ListResidentSubDeptsRequest): Promise<ListResidentSubDeptsResponse>;
    /**
     * 居民通讯录批量获取用户详细信息
     *
     * @param tmpReq - ListResidentUserInfosRequest
     * @param headers - ListResidentUserInfosHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ListResidentUserInfosResponse
     */
    listResidentUserInfosWithOptions(tmpReq: ListResidentUserInfosRequest, headers: ListResidentUserInfosHeaders, runtime: $Util.RuntimeOptions): Promise<ListResidentUserInfosResponse>;
    /**
     * 居民通讯录批量获取用户详细信息
     *
     * @param request - ListResidentUserInfosRequest
     * @returns ListResidentUserInfosResponse
     */
    listResidentUserInfos(request: ListResidentUserInfosRequest): Promise<ListResidentUserInfosResponse>;
    /**
     * 根据角色获取用户列表
     *
     * @param request - ListSimpleUsersByRoleRequest
     * @param headers - ListSimpleUsersByRoleHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ListSimpleUsersByRoleResponse
     */
    listSimpleUsersByRoleWithOptions(request: ListSimpleUsersByRoleRequest, headers: ListSimpleUsersByRoleHeaders, runtime: $Util.RuntimeOptions): Promise<ListSimpleUsersByRoleResponse>;
    /**
     * 根据角色获取用户列表
     *
     * @param request - ListSimpleUsersByRoleRequest
     * @returns ListSimpleUsersByRoleResponse
     */
    listSimpleUsersByRole(request: ListSimpleUsersByRoleRequest): Promise<ListSimpleUsersByRoleResponse>;
    /**
     * 获取下级指定区域层级组织
     *
     * @param request - ListSubCorpsRequest
     * @param headers - ListSubCorpsHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ListSubCorpsResponse
     */
    listSubCorpsWithOptions(request: ListSubCorpsRequest, headers: ListSubCorpsHeaders, runtime: $Util.RuntimeOptions): Promise<ListSubCorpsResponse>;
    /**
     * 获取下级指定区域层级组织
     *
     * @param request - ListSubCorpsRequest
     * @returns ListSubCorpsResponse
     */
    listSubCorps(request: ListSubCorpsRequest): Promise<ListSubCorpsResponse>;
    /**
     * 查询子部门列表
     *
     * @param request - ListSubDeptRequest
     * @param headers - ListSubDeptHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ListSubDeptResponse
     */
    listSubDeptWithOptions(departmentId: string, request: ListSubDeptRequest, headers: ListSubDeptHeaders, runtime: $Util.RuntimeOptions): Promise<ListSubDeptResponse>;
    /**
     * 查询子部门列表
     *
     * @param request - ListSubDeptRequest
     * @returns ListSubDeptResponse
     */
    listSubDept(departmentId: string, request: ListSubDeptRequest): Promise<ListSubDeptResponse>;
    /**
     * 查询部门下的子部门ID列表，不会递归查询，只包含ID
     *
     * @param request - ListSubDeptIdsRequest
     * @param headers - ListSubDeptIdsHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ListSubDeptIdsResponse
     */
    listSubDeptIdsWithOptions(departmentId: string, request: ListSubDeptIdsRequest, headers: ListSubDeptIdsHeaders, runtime: $Util.RuntimeOptions): Promise<ListSubDeptIdsResponse>;
    /**
     * 查询部门下的子部门ID列表，不会递归查询，只包含ID
     *
     * @param request - ListSubDeptIdsRequest
     * @returns ListSubDeptIdsResponse
     */
    listSubDeptIds(departmentId: string, request: ListSubDeptIdsRequest): Promise<ListSubDeptIdsResponse>;
}
