export interface BotProfile { capability?: string; /** Structured discovery tags reported to the platform as BotInfo.specialties. * Self-reported, display-only — never a trusted capability credential. */ specialties?: string[]; updatedAt: number; updatedBy?: string; } /** Full profile for a bot, or null if none recorded. */ export declare function getBotProfile(dataDir: string, larkAppId: string): BotProfile | null; /** Just the capability label for a bot, or null. */ export declare function getBotCapability(dataDir: string, larkAppId: string): string | null; /** Structured discovery tags for a bot (empty array if none). */ export declare function getBotSpecialties(dataDir: string, larkAppId: string): string[]; /** * Set (or overwrite) a bot's capability label. Trimmed and length-capped. * Merges into the existing profile so it never clobbers `specialties`. */ export declare function setBotCapability(dataDir: string, larkAppId: string, capability: string, updatedBy?: string, now?: number): void; /** * Set (or overwrite) a bot's specialties tags. Normalized (trim/dedupe/capped). * Merges into the existing profile so it never clobbers the `capability` label. * An empty list persists as an explicit `[]` (owner cleared their tags). */ export declare function setBotSpecialties(dataDir: string, larkAppId: string, specialties: string[], updatedBy?: string, now?: number): void; /** Remove a bot's capability label. Preserves `specialties`. Returns true if a * label existed. Deletes the whole profile file only when nothing else remains. */ export declare function clearBotCapability(dataDir: string, larkAppId: string): boolean; /** All recorded profiles, keyed by larkAppId. */ export declare function listBotProfiles(dataDir: string): Record; //# sourceMappingURL=bot-profile-store.d.ts.map