import type { FeishuInboxItem } from '../../shared/inbox.js'; import { type FeishuDirectoryChatInfo, type FeishuDirectoryUserInfo } from '../storage/schema/cache.js'; import type { FeishuChatInfo, FeishuConversationMessage, FeishuMessageClient, FeishuUserBasicInfo } from './client.js'; import type { FeishuReceiveMessageEvent } from './events.js'; export declare const FEISHU_DIRECTORY_CACHE_TTL_MS: number; export declare class FeishuDirectoryService { private readonly input; constructor(input: { directoryId: string; now?: () => string; ttlMs?: number; }); enrichInboxItem(input: { client?: FeishuMessageClient; item: FeishuInboxItem; receiveEvent?: FeishuReceiveMessageEvent; }): Promise; enrichFromCache(item: FeishuInboxItem): Promise; getCachedChat(chatId: string): Promise; getCachedUser(openId: string): Promise; getChat(input: { chatId: string; client?: FeishuMessageClient; }): Promise; applyReceiveEvent(event: FeishuReceiveMessageEvent): Promise; applyConversationMessages(messages: FeishuConversationMessage[]): Promise; applyUserBasics(users: FeishuUserBasicInfo[]): Promise; applyChat(chat: FeishuChatInfo): Promise; private applyUsers; private isFresh; private now; private readCache; private updateCache; } export declare function feishuDirectoryId(input: { appId?: string; tenantKey?: string; }): string | undefined; //# sourceMappingURL=directory.service.d.ts.map