import type { MessagePageOptions } from "./discord-client.js"; import type { ScopePolicy } from "./policy.js"; import type { DiscordChannel, DiscordMessage, RequestOptions } from "./types.js"; export interface MessageReplyPageOptions extends RequestOptions { afterMessageId?: string; scanLimit?: number; } export interface MessageReplyServiceClient { getChannel(channelId: string, options?: RequestOptions): Promise; getMessage(channelId: string, messageId: string, options?: RequestOptions): Promise; listMessages(channelId: string, options?: MessagePageOptions): Promise; } export interface MessageReplyServiceOptions { client: MessageReplyServiceClient; policy: Pick; } export interface MessageReplyView { attachmentCount: number; authorBot: boolean; authorId: string; authorSystem: boolean; channelId: string; componentCount: number; content: string; editedTimestamp: string | null; embedCount: number; guildId: string; id: string; jumpUrl: string; mentionEveryone: boolean; mentionedRoleCount: number; mentionedUserCount: number; pinned: boolean; reactionKindCount: number; replyToMessageId: string | null; stickerCount: number; timestamp: string; tts: boolean; type: number; } export interface MessageReplyResult { guildId: string; page: { afterMessageId: string; nextAfterMessageId: string; replyCount: number; requestedScanLimit: number; scanLimitReached: boolean; scannedMessageCount: number; }; privacy: { persistence: "none"; profileExpansion: "omitted"; rawPayloads: "omitted"; }; replies: MessageReplyView[]; schemaVersion: number; source: MessageReplyView; status: "ok"; } export declare function assertMessageReplyRequest(channelId: unknown, sourceMessageId: unknown, options?: MessageReplyPageOptions): asserts channelId is string; export declare class MessageReplyService { #private; constructor(options: MessageReplyServiceOptions); list(channelId: string, sourceMessageId: string, options?: MessageReplyPageOptions): Promise; } //# sourceMappingURL=message-reply-service.d.ts.map