import { GetGuildResponse, PlatformGetUserAccessesReponse, PlatformJoinResponse, PlatformStatusResponse } from "./types";
declare class Platform {
    readonly platformName: string;
    constructor(platformName: string);
    guild: {
        get: (platformProjectId: string) => Promise<GetGuildResponse>;
        getUserAccess: (platformProjectId: string, platformUserId: string) => Promise<PlatformGetUserAccessesReponse>;
        getAll(query?: import("./types").GuildsQueryType): Promise<import("./types").GetGuildsResponse>;
        getByAddress(address: string, query?: import("./types").GuildsByAddressQueryType): Promise<import("./types").GetGuildsResponse>;
        getUserMemberships(groupId: number, address: string): Promise<import("./types").GetUserAccessResponse>;
        create(signerAddress: string, sign: import("./types").SignerFunction, params: import("./types").CreateGuildParams): Promise<import("./types").CreateGuildResponse>;
        update(id: string | number, signerAddress: string, sign: import("./types").SignerFunction, params: import("./types").UpdateGuildParams): Promise<import("./types").CreateGuildResponse>;
        delete(id: number, signerAddress: string, sign: import("./types").SignerFunction, removePlatformAccess?: boolean): Promise<import("./types").DeleteGuildResponse>;
    };
    user: {
        join: (platformProjectId: string, platformUserId: string, platformUserData: any) => Promise<PlatformJoinResponse>;
        leave: (platformProjectId: string, platformUserId: string, platformUserData: any) => Promise<PlatformJoinResponse>;
        status: (platformUserId: string) => Promise<PlatformStatusResponse>;
        getUserInfoByToken(code: string): Promise<any>;
        getWxGroups(): Promise<any>;
        getWxGroup(groupObjectId: string): Promise<any>;
        updateWxGroup(groupObjectId: string, data: import("./types-ithcat").default): Promise<any>;
        getMemberships(address: string): Promise<import("./types").GetMembershipsResponse>;
        getMyGroupTimers: (recvObjectId?: string, recvIsGroup?: boolean) => Promise<any>;
        addMyGroupTimer: (timer: import("./types").IKnowTimer) => Promise<any>;
        delMyGroupTimer: (timer: import("./types").IKnowTimer) => Promise<any>;
    };
    role: {
        get(id: number): Promise<import("./types").GetRoleResponse>;
        create(signerAddress: string, sign: import("./types").SignerFunction, params: import("./types").CreateRoleParams): Promise<import("./types").CreateRoleResponse>;
        update(id: number, signerAddress: string, sign: import("./types").SignerFunction, params: import("./types").UpdateRoleParams): Promise<import("./types").UpdateRoleResponse>;
        delete(id: number, signerAddress: string, sign: import("./types").SignerFunction, removePlatformAccess?: boolean): Promise<import("./types").DeleteRoleResponse>;
    };
}
export { Platform };
