import type { ArkmeSessionCredentials } from './keychain-store.js'; import type { ArkmeGroupBotBindingTarget } from './services/source-service.js'; /** Display-only data: never evidence of membership, installation or permission. */ export interface BotDisplayProfile { readonly displayName: string; readonly avatarUrl?: string; } export type BotDisplayProfiles = ReadonlyMap; export interface BotDisplaySnapshot { readonly chatSessionUid: string; readonly profiles: BotDisplayProfiles; readonly groupTarget?: ArkmeGroupBotBindingTarget; } export interface BotDisplayProfilesReader { read(input: { readonly botUids: ReadonlySet; readonly chatSessionUid: string; readonly isGroup: boolean; readonly snapshot?: BotDisplaySnapshot; }, session: ArkmeSessionCredentials, signal?: AbortSignal): Promise; } export declare function identifyTimelineSender(input: { recordUid: string; actorKind: number; botUid: string; }): { kind: 'human'; } | { kind: 'bot'; botUid: string; }; export declare function hasMissingBotProfile(ids: ReadonlySet, profiles: BotDisplayProfiles): boolean; /** Participant fields win independently; directory profiles fill missing fields. */ export declare function supplementBotProfiles(profiles: BotDisplayProfiles, ids: ReadonlySet, additions: BotDisplayProfiles): BotDisplayProfiles; export declare function botDisplayName(profiles: BotDisplayProfiles, uid: string): string; //# sourceMappingURL=chat-sender-display.d.ts.map