type ScopeOp = '=' | '!=' | '<' | '<=' | '>' | '>=' | '*'; interface ScopeConstraint { key: string; op: ScopeOp; value: string | undefined; quoted: boolean; } interface Scope { product: string; verb: string; constraints: ScopeConstraint[]; } declare const REGISTERED_SCOPES: Record; declare class ScopeParseError extends Error { constructor(message: string); } declare function parseScope(input: string): Scope; declare function canonicalizeScope(scope: Scope): string; declare function canonicalizeScopeString(input: string): string; interface ValidationOptions { mode?: 'strict' | 'permissive'; } declare function validateScope(scope: Scope, options?: ValidationOptions): void; declare function isSubScope(exercised: Scope, granted: Scope): boolean; export { REGISTERED_SCOPES, type Scope, type ScopeConstraint, type ScopeOp, ScopeParseError, type ValidationOptions, canonicalizeScope, canonicalizeScopeString, isSubScope, parseScope, validateScope };