export declare function requestMemberOrgIds(email: string, load: () => Promise): Promise; export declare function cachedMemberships(email: string, load: () => Promise): Promise; export declare function workspaceAccessGenerationNow(): number; export declare function getCachedWorkspaceAccess(key: string): T | undefined; export declare function rememberWorkspaceAccess(key: string, value: unknown, generation: number): void; export declare function invalidateMemberOrgCaches(): void; export declare const ACTIVE_ORG_SETTING_KEY = "active-org-id"; export type ActiveOrgSetting = { orgId: string | null; } | null; /** * Rotated by every request that changes its caller's `active-org-id` and by * every new session, and part of the cache key below. A browser that switched * organizations or signed in carries the new value on its next request, so * every instance misses and reads the current selection, while an instance * that still holds the previous answer serves it only to requests that never * saw the change. The value selects a cache entry and nothing else: a forged * one can only cause a miss. */ export declare const ORG_SELECTION_COOKIE = "an_org_selection"; export declare function newOrgSelection(): string; /** * Every well-formed copy, joined: a partitioned and an unpartitioned copy can * both arrive, and a rotation of either must change the key. */ export declare function orgSelectionFromCookieHeader(header: string | null | undefined): string; export declare function cachedActiveOrgSetting(email: string, orgSelection: string, load: () => Promise): Promise; export declare function invalidateActiveOrgSettingCache(): void; export declare function __resetProcessMemberOrgCacheForTests(): void;