import type { ArkmeSessionCredentials } from '../keychain-store.js'; import type { ArkmeGroupCommandResult, ArkmeGroupMemberAddResult, ArkmeGroupMemberCandidateList, ArkmeGroupInvitePreview, ArkmeGroupMemberList, ArkmeGroupNotificationResult, ArkmeGroupProjectionResult, ArkmeGroupSettingsSnapshot, ArkmeSourceItem } from '../types.js'; import { ProfileService } from './profile-service.js'; import { SourceService } from './source-service.js'; import { ServiceRuntime } from './service.js'; export interface GroupInviteTextSender { sendPrivateText(sourceRef: string, chatSessionUid: string, text: string, recordUid: string, relationUid: string, session: ArkmeSessionCredentials, signal?: AbortSignal): Promise; } export declare class GroupService { private readonly runtime; private readonly source; private readonly profile; private readonly inviteSender?; private readonly attentionInvalidated?; constructor(runtime: ServiceRuntime, source: SourceService, profile: ProfileService, inviteSender?: GroupInviteTextSender | undefined, attentionInvalidated?: (() => void) | undefined); groupInvitePreview(sourceRef: string, signal?: AbortSignal): Promise; listGroupMemberCandidates(sourceRef: string, options?: { query?: string; limit?: number; groupSourceRefs?: readonly string[]; signal?: AbortSignal; }): Promise; addGroupMembers(sourceRef: string, candidateRefs: readonly string[], signal?: AbortSignal): Promise; private sealCandidateRef; private openCandidateRef; createGroup(title: string, clientMutationId: string, options?: { signal?: AbortSignal; }): Promise; listGroupMembers(sourceRef: string, options?: { activeOnly?: boolean; signal?: AbortSignal; }): Promise; groupSettings(sourceRef: string, signal?: AbortSignal): Promise; setGroupMessageDnd(sourceRef: string, enabled: boolean, signal?: AbortSignal): Promise; renameGroup(sourceRef: string, title: string, signal?: AbortSignal): Promise; leaveGroup(sourceRef: string, signal?: AbortSignal): Promise; dissolveGroup(sourceRef: string, signal?: AbortSignal): Promise; reportGroup(sourceRef: string, reason: string, signal?: AbortSignal): Promise; } //# sourceMappingURL=group-service.d.ts.map