export interface KnownImUser { platform: string; userId: string; firstSeenAt: string; lastSeenAt: string; lastChannelId?: string; lastThreadId?: string; } /** Returns true iff at least one IM admin is configured. */ export declare function isAllowlistConfigured(): boolean; /** Returns true iff the caller is in IM admin list. */ export declare function isAdmin(platform: string, userId: string | undefined): boolean; /** List configured IM admins. */ export declare function listAdmins(): Array<{ platform: string; userId: string; }>; /** List known IM users discovered from real inbound messages. */ export declare function listKnownImUsers(): KnownImUser[]; /** Record that an IM user has interacted with agim. */ export declare function recordSeenImUser(platform: string, userId: string | undefined, meta?: { channelId?: string; threadId?: string; }): boolean; /** Promote an IM identity to admin (idempotent). */ export declare function promoteAdmin(platform: string, userId: string, opts?: { actor?: string; traceId?: string; }): Promise; /** Revoke admin permission from an IM identity (idempotent false on missing). */ export declare function revokeAdmin(platform: string, userId: string, opts?: { actor?: string; traceId?: string; }): Promise; export declare function denialMessage(platform: string, userId: string | undefined): string; /** Startup diagnostics. */ export declare function logStartupResolution(): void; /** Test-only reset. */ export declare function _resetCache(): void; //# sourceMappingURL=admin-allowlist.d.ts.map