/** * OAuth2 Scopes * * Defines the available scopes for OAuth2 authorization. * Scopes control what actions an OAuth client can perform on behalf of a user. * * @see RFC 6749 Section 3.3 - Access Token Scope */ export declare const OAuth2Scopes: { /** General read access to user data */ readonly READ: "read"; /** General write access to user data */ readonly WRITE: "write"; /** Read access to photographs */ readonly PHOTOGRAPHS_READ: "photographs:read"; /** Create and modify photographs */ readonly PHOTOGRAPHS_WRITE: "photographs:write"; /** Read access to rolls/albums */ readonly ROLLS_READ: "rolls:read"; /** Create and modify rolls/albums */ readonly ROLLS_WRITE: "rolls:write"; /** Access to user profile information (name, email) */ readonly PROFILE: "profile"; /** Access to the MCP (Model Context Protocol) server */ readonly MCP: "mcp"; /** Administrative access - restricted to platform admins */ readonly ADMIN: "admin"; }; /** Type for valid OAuth scope values */ export type OAuthScopeType = (typeof OAuth2Scopes)[keyof typeof OAuth2Scopes]; /** Array of all valid scope strings */ export declare const VALID_OAUTH_SCOPES: string[]; /** * Human-readable names for each scope. * Used in consent screens as short labels. */ export declare const OAuthScopeNames: Record; /** * Human-readable descriptions for each scope. * Used in consent screens to explain what access is being granted. */ export declare const OAuthScopeDescriptions: Record; /** * Validates that all requested scopes are valid. * @param scopes - Space-separated scope string or array of scopes * @returns true if all scopes are valid */ export declare function validateScopes(scopes: string | string[]): boolean; /** * Parses a space-separated scope string into an array. * @param scopeString - Space-separated scope string * @returns Array of individual scopes */ export declare function parseScopes(scopeString: string): string[]; /** * Checks if a set of scopes includes a specific scope. * @param scopes - Array of scopes to check * @param requiredScope - The scope to look for * @returns true if the required scope is present */ export declare function hasScope(scopes: string[], requiredScope: OAuthScopeType): boolean; //# sourceMappingURL=oauth.scopes.d.ts.map