import { Client } from "./client"; import { FriendRequestEvent, GroupInviteEvent, GroupRequestEvent } from "./event"; export declare class Request { c: Client; request_type: T; sub_type: CT; post_type: "request"; flag?: string; constructor(c: Client, request_type: T, sub_type: CT, $json: Record); static from(this: Client, request_type: T, sub_type: CT, event: Record): RequestEventMap[T][CT]; } export declare class GroupRequest extends Request<'group', T> { constructor(c: Client, request_type: 'group', sub_type: T, $json: Record); approve(agree?: boolean, reason?: string): void; } export declare class FriendRequest extends Request<'friend', T> { constructor(c: Client, request_type: 'friend', sub_type: T, $json: Record); approve(agree?: boolean, remark?: string): void; } interface RequestEventMap { group: { add: GroupRequestEvent; invite: GroupInviteEvent; }; friend: { add: FriendRequestEvent; }; } export {};