import ApiBase from "./ApiBase"; import { IMembershipEntity } from "../IPuripara"; export interface IUpdateMembershipBodyBase { notification_policy?: "all_messages" | "only_mentions" | "nothing"; read_state_tracking_policy?: "keep_latest" | "consume_last" | "consume_latest"; visible?: boolean; muted?: boolean; } export interface IPostMembershipBody extends IUpdateMembershipBodyBase { channel_id: string; } export interface IPutMembershipBody extends IUpdateMembershipBodyBase { latest_read_message_id?: number; } export default class Memberships extends ApiBase { getMemberships(): Promise; postMembership(body: IPostMembershipBody): Promise; deleteMembership(id: string): Promise; putMembership(id: string, body: IPutMembershipBody): Promise; putJoinMembership(id: string): Promise; }