import { Client } from "./client"; import { FriendDecreaseEvent, FriendIncreaseEvent, FriendPokeEvent, FriendRecallEvent, GroupAdminEvent, GroupMuteEvent, GroupPokeEvent, GroupRecallEvent, GroupTransferEvent, MemberDecreaseEvent, MemberIncreaseEvent } from "./event"; import { Friend } from "./friend"; import { Group } from "./group"; export declare class Notice { c: Client; notice_type: T; sub_type: CT; post_type: "notice"; constructor(c: Client, notice_type: T, sub_type: CT, $json: Record); static from(this: Client, notice_type: T, sub_type: CT, json: Record): NoticeEventMap[T][CT]; } export declare class FriendNotice extends Notice<'friend', T> { c: Client; notice_type: 'friend'; friend: Friend; constructor(c: Client, notice_type: 'friend', sub_type: T, $json: Record); } export declare class GroupNotice extends Notice<'group', T> { c: Client; notice_type: 'group'; group: Group; constructor(c: Client, notice_type: 'group', sub_type: T, $json: Record); } interface NoticeEventMap { friend: { increase: FriendIncreaseEvent; decrease: FriendDecreaseEvent; recall: FriendRecallEvent; poke: FriendPokeEvent; }; group: { increase: MemberIncreaseEvent; decrease: MemberDecreaseEvent; recall: GroupRecallEvent; poke: GroupPokeEvent; admin: GroupAdminEvent; ban: GroupMuteEvent; transfer: GroupTransferEvent; }; } export {};