export type GroupInviteLinkStatus = "idle" | "loading" | "unavailable" | "confirm" | "ready"; interface UseGroupInviteLinkResult { status: GroupInviteLinkStatus; groupId?: string; groupName?: string; groupAvatar?: string; memberCount?: number; isJoining: boolean; confirmJoin: () => void; dismiss: () => void; } /** * Orchestrates the invite-link entry flow (DROPPII-30546): resolves the * code, then derives what the host should render — an existing member * resolves straight to "ready" (host feeds groupId into its normal * conversation-target flow, same as ?groupId= today); a non-member (public * or private, no visibility branch — matches chat-mobile's shipped * useJoinGroupByInviteLink, droppii/chat-mobile@832d442) gets "confirm" * until they join or dismiss; a resolve failure is "unavailable". * * `dismiss`/join-failure never navigate — they just fall back to "idle" so * the host keeps rendering whatever it would show without an inviteToken * (the normal inbox), no router dependency needed here. */ export declare const useGroupInviteLink: (inviteToken?: string) => UseGroupInviteLinkResult; export {}; //# sourceMappingURL=useGroupInviteLink.d.ts.map