export type { Attachment, ChannelStoreConfig, LoggedMessage } from "./types.js"; import type { Attachment, ChannelStoreConfig, LoggedMessage } from "./types.js"; export declare class ChannelStore { private workingDir; private botToken; private recentlyLogged; private loggingMessages; constructor(config: ChannelStoreConfig); /** * Get or create the directory for a channel/DM */ getChannelDir(channelId: string): string; /** * Generate a unique local filename for an attachment */ generateLocalFilename(originalName: string, timestamp: string): string; /** * Process attachments from a Slack message event. * Downloads files before returning so callers only receive readable paths. */ processAttachments(channelId: string, files: Array<{ name?: string; url_private_download?: string; url_private?: string; }>, timestamp: string): Promise; /** * Log a message to the channel's log.jsonl * Returns false if message was already logged (duplicate) */ logMessage(channelId: string, message: LoggedMessage): Promise; /** * Log a bot response */ logBotResponse(channelId: string, text: string, ts: string): Promise; /** * Get the timestamp of the last logged message for a channel * Returns null if no log exists */ getLastTimestamp(channelId: string): string | null; /** * Download a single attachment */ private downloadAttachmentWithRetry; private downloadAttachment; } //# sourceMappingURL=store.d.ts.map