export interface BotOwner {
    unionId?: string;
    openId?: string;
    name?: string;
    assignedAt: number;
    assignedBy: 'auto' | 'manual';
}
type FileShape = Record<string, BotOwner>;
/** Current owner of a bot, or null. */
export declare function getBotOwner(dataDir: string, larkAppId: string): BotOwner | null;
/**
 * Assign a bot's owner. By default does NOT overwrite an existing owner (auto
 * assignment on pairing). Pass `override: true` for an explicit claim. Returns
 * true if it wrote.
 */
export declare function setBotOwner(dataDir: string, larkAppId: string, owner: {
    unionId?: string;
    openId?: string;
    name?: string;
}, opts?: {
    override?: boolean;
}, now?: number): boolean;
/** Remove a bot's owner. Returns true if one existed. */
export declare function clearBotOwner(dataDir: string, larkAppId: string): boolean;
/** All owners, keyed by larkAppId. */
export declare function listBotOwners(dataDir: string): FileShape;
export {};
//# sourceMappingURL=bot-owner-store.d.ts.map