import { z } from 'zod'; import { JsonStore } from '../json-store.js'; export declare const FeishuFileCacheMeta: z.ZodObject<{ fileId: z.ZodString; fileKey: z.ZodString; messageId: z.ZodString; mimetype: z.ZodString; name: z.ZodString; resourceType: z.ZodEnum<{ file: "file"; audio: "audio"; image: "image"; }>; sizeBytes: z.ZodNumber; }, z.core.$strip>; export type FeishuFileCacheMeta = z.infer; export declare const SlackFileCacheMeta: z.ZodObject<{ id: z.ZodString; mimetype: z.ZodString; name: z.ZodString; sizeBytes: z.ZodNumber; teamId: z.ZodString; }, z.core.$strip>; export type SlackFileCacheMeta = z.infer; export interface SlackDirectoryTimezone { label?: string; name: string; offsetSeconds?: number; } export interface SlackDirectoryUser { avatarUrl?: string; deleted?: boolean; displayName?: string; id: string; isAppUser?: boolean; isBot?: boolean; isStranger?: boolean; name?: string; realName?: string; syncedAt: string; teamId?: string; timezone?: SlackDirectoryTimezone; } export interface SlackDirectoryConversation { id: string; isGroup?: boolean; isIm?: boolean; isMember?: boolean; isMpim?: boolean; memberCount?: number; name?: string; syncedAt: string; topic?: string; userId?: string; } export interface SlackDirectoryMembership { channelIds: string[]; syncedAt: string; syncedTypes: string; } export interface SlackWorkspaceDirectoryFile { channels: SlackDirectoryConversation[]; channelsFullSyncAt?: string; channelsFullSyncTypes?: string; memberships: Record; teamId: string; users: SlackDirectoryUser[]; usersFullSyncAt?: string; workspace?: { iconUrl?: string; syncedAt: string; }; } export interface FeishuDirectoryChatInfo { avatarUrl?: string; chatId: string; chatName?: string; chatType?: string; updatedAt: string; } export interface FeishuDirectoryUserInfo { displayName?: string; i18nName?: Record; openId: string; unionId?: string; updatedAt: string; userId?: string; } export interface FeishuDirectoryFile { chats: FeishuDirectoryChatInfo[]; directoryId: string; users: FeishuDirectoryUserInfo[]; } export declare const SlackWorkspaceDirectoryFileSchema: z.ZodObject<{ channels: z.ZodDefault; isIm: z.ZodOptional; isMember: z.ZodOptional; isMpim: z.ZodOptional; memberCount: z.ZodOptional; name: z.ZodOptional; syncedAt: z.ZodString; topic: z.ZodOptional; userId: z.ZodOptional; }, z.core.$strict>>>; channelsFullSyncAt: z.ZodOptional; channelsFullSyncTypes: z.ZodOptional; memberships: z.ZodDefault; syncedAt: z.ZodString; syncedTypes: z.ZodString; }, z.core.$strict>>>; teamId: z.ZodString; users: z.ZodDefault; deleted: z.ZodOptional; displayName: z.ZodOptional; id: z.ZodString; isAppUser: z.ZodOptional; isBot: z.ZodOptional; isStranger: z.ZodOptional; name: z.ZodOptional; realName: z.ZodOptional; syncedAt: z.ZodString; teamId: z.ZodOptional; timezone: z.ZodOptional; name: z.ZodString; offsetSeconds: z.ZodOptional; }, z.core.$strict>>; }, z.core.$strict>>>; usersFullSyncAt: z.ZodOptional; workspace: z.ZodOptional; syncedAt: z.ZodString; }, z.core.$strict>>; }, z.core.$strict>; export declare const FeishuDirectoryFileSchema: z.ZodObject<{ chats: z.ZodDefault; chatId: z.ZodString; chatName: z.ZodOptional; chatType: z.ZodOptional; updatedAt: z.ZodString; }, z.core.$strip>>>; directoryId: z.ZodString; users: z.ZodDefault; i18nName: z.ZodOptional>; openId: z.ZodString; unionId: z.ZodOptional; updatedAt: z.ZodString; userId: z.ZodOptional; }, z.core.$strip>>>; }, z.core.$strip>; export declare const getSlackFileCacheMetaStore: (teamId: string, fileId: string) => JsonStore>; export declare const getFeishuFileCacheMetaStore: (fileId: string) => JsonStore>; export declare function feishuFileCacheDir(fileId: string): string; export declare function slackFileCacheDir(teamId: string, fileId: string): string; export declare const getSlackWorkspaceDirectoryStore: (teamId: string) => JsonStore; export declare const getFeishuDirectoryStore: (directoryId: string) => JsonStore; //# sourceMappingURL=cache.d.ts.map