import type { SpaceID, ThreadID, ThreadComment, SpaceMemberForResponse, SpaceMemberForRequest, GuestSpaceID, Guest, SpaceTemplateID, UpdateSpaceForRequest, Space, GetSpacesStatisticsRequest, GetSpacesStatisticsResponse } from "./types";
import { BaseClient } from "./BaseClient";
export declare class SpaceClient extends BaseClient {
    getSpace(params: {
        id: SpaceID;
    }): Promise<Space>;
    updateSpace(params: UpdateSpaceForRequest): Promise<{}>;
    deleteSpace(params: {
        id: SpaceID;
    }): Promise<{}>;
    updateSpaceBody(params: {
        id: SpaceID;
        body: string;
    }): Promise<{}>;
    getSpaceMembers(params: {
        id: SpaceID;
    }): Promise<{
        members: SpaceMemberForResponse[];
    }>;
    updateSpaceMembers(params: {
        id: SpaceID;
        members: SpaceMemberForRequest[];
    }): Promise<{}>;
    addThread(params: {
        space: SpaceID;
        name: string;
    }): Promise<{
        id: string;
    }>;
    updateThread(params: {
        id: ThreadID;
        name?: string;
        body?: string;
    }): Promise<{}>;
    addThreadComment(params: ThreadComment): Promise<{
        id: string;
    }>;
    addGuests(params: {
        guests: Guest[];
    }): Promise<{}>;
    deleteGuests(params: {
        guests: string[];
    }): Promise<{}>;
    updateSpaceGuests(params: {
        id: GuestSpaceID;
        guests: string[];
    }): Promise<{}>;
    addSpaceFromTemplate(params: {
        id: SpaceTemplateID;
        name: string;
        members: SpaceMemberForRequest[];
        isPrivate?: boolean;
        isGuest?: boolean;
        fixedMember?: boolean;
    }): Promise<{
        id: SpaceID;
    }>;
    getStatistics(params: GetSpacesStatisticsRequest): Promise<GetSpacesStatisticsResponse>;
}
