import type { Client } from "../../mod.js"; import type * as line from "@jsr/evex__linejs-types"; import { TalkMessage } from "../message/talk.js"; import { type MessageFetcher } from "./fetcher.js"; interface ChatInit { client: Client; raw: line.Chat; } /** * Talk chat(group) class (not a OpenChat) */ export declare class Chat { raw: line.Chat; readonly mid: string; name: string; constructor(init: ChatInit); /** * Sends message to the chat(group). */ sendMessage(input: string | { text?: string; /** * If true, end2end encryption will be enabled. * @default true */ e2ee?: boolean; /** * Related message mid. This is used for reply. */ relatedMessageId?: string; contentType?: line.ContentType; contentMetadata?: Record; location?: line.Location; chunk?: string[]; }): Promise; /** * @description Update chat(group) status. */ updateChat(options: { chat: Partial; updatedAttribute: line.Pb1_O2; }): Promise; /** * @description Update chat(group) name. */ public updateName(name: string): Promise; /** * @description Invite user. */ public invite(mids: string[]): Promise; /** * @description Kickout user. */ public kick(mid: string): Promise; /** * @description Leave chat. */ public leave(): Promise; /** * Fetches messages from the chat(group). * * @param limit The number of messages to fetch. Defaults to 10. * @returns A promise that resolves to an array of TalkMessage instances. */ fetchMessages(limit?: number): Promise; messageFetcher(): Promise; } //# sourceMappingURL=mod.d.ts.map