/** * A workspace member entry, resolved to a human-friendly identity for the * sharing autocomplete. `email` may be empty when the directory only exposes a * userId (the picker still allows free-typing an email to invite). */ export interface WorkspaceDirectoryMember { id: string; name: string; email: string; avatar?: string; } export interface UseWorkspaceDirectoryParams { /** Workspace whose members are listed. */ workspaceId: string; /** Override the active profile's access token. */ authToken?: string; /** * Override the WORKSPACE gateway base URL. Resolved like `useActorProfiles`: * an explicit workspace gateway is honored, otherwise the URL is derived from * the current hostname (LOCAL/ALPHA/PROD). */ apiGatewayUrl?: string; } export interface UseWorkspaceDirectoryResult { members: WorkspaceDirectoryMember[]; /** Update the case-insensitive client-side filter query. */ search: (q: string) => void; loading: boolean; /** Whether the backend reported more members beyond the loaded page. */ hasMore: boolean; /** Load the next page of members (no-op while loading or when no more). */ fetchMore: () => void; } /** * Autocomplete data source for the sharing MemberPicker. Mirrors the resolution * strategy of `useActorProfiles`: it lists `workspaceMembers` (ids only) and * resolves human identities via `workspaceMemberIdentities`, against the * WORKSPACE gateway with a workspace token attached. Identity-resolution * failures are best-effort and fall back to a short-id label rather than * surfacing an error toast — the picker still works for free-typed emails. */ export declare function useWorkspaceDirectory(params: UseWorkspaceDirectoryParams): UseWorkspaceDirectoryResult; //# sourceMappingURL=useWorkspaceDirectory.d.ts.map