export type AuthorizationRoleScope = "organization" | "platform"; export interface AuthorizationSurfaceIdentity { organizationId: string | null; scope: AuthorizationRoleScope; } export interface IdentityScopedAuthorizationSnapshot { organizationId: string | null; scope: AuthorizationRoleScope; snapshot: T; userId: string | null; } export declare function resolveIdentityScopedAuthorizationSnapshot(input: { lastSnapshot: IdentityScopedAuthorizationSnapshot | null; liveSnapshot: T | null; organizationId: string | null; scope: AuthorizationRoleScope; userId?: string; }): { lastSnapshot: IdentityScopedAuthorizationSnapshot | null; snapshot: T | null; }; export declare function resolveAuthorizationSurfaceIdentity(input: { organizationId?: string | null; scope?: AuthorizationRoleScope; sessionOrganizationId?: string | null; }): AuthorizationSurfaceIdentity; export declare function resolveAuthorizationSnapshotPresentation(input: { canView: boolean; hasSnapshot: boolean; refreshFailed: boolean; snapshotStatus: "pending" | "success" | "error" | "unavailable"; }): { hide: boolean; showStaleWarning: boolean; }; export declare function canViewAuthorizationRoles(input: { canManage: boolean; effectiveRights: readonly string[] | undefined; scope: AuthorizationRoleScope; }): boolean; export declare function authorizationRoleListQuery(identity: AuthorizationSurfaceIdentity): { organizationId?: string; scope: AuthorizationRoleScope; }; export declare function authorizationRoleCommand>(identity: AuthorizationSurfaceIdentity, input: T): T & { organizationId?: string; scope: AuthorizationRoleScope; };