export declare const SCOPE_MEETING_ATTEND = "meeting:attend"; export declare const SCOPE_MEETING_SPEAK = "meeting:speak"; export declare const SCOPE_MEETING_VIDEO = "meeting:video"; export declare const SCOPE_MEETING_CHAT = "meeting:chat"; export declare const SCOPE_MEETING_SHARE_SCREEN = "meeting:share_screen"; export declare const SCOPE_MEETING_RECORD = "meeting:record"; export declare const SCOPE_COMMS_MESSAGE_READ = "comms:message:read"; export declare const SCOPE_COMMS_MESSAGE_SEND = "comms:message:send"; export declare const SCOPE_COMMS_MESSAGE_DELETE = "comms:message:delete"; export declare const SCOPE_COMMS_EMAIL_READ = "comms:email:read"; export declare const SCOPE_COMMS_EMAIL_SEND = "comms:email:send"; export declare const SCOPE_COMMS_EMAIL_DELETE = "comms:email:delete"; export declare const SCOPE_COMMS_CALENDAR_READ = "comms:calendar:read"; export declare const SCOPE_COMMS_CALENDAR_WRITE = "comms:calendar:write"; export declare const SCOPE_FILES_READ = "files:read"; export declare const SCOPE_FILES_WRITE = "files:write"; export declare const SCOPE_IDENTITY_PROVE = "identity:prove"; export declare const SCOPE_IDENTITY_DELEGATE = "identity:delegate"; export declare const SCOPE_PRESENCE_REPRESENT = "presence:represent"; export declare const SCOPE_TRANSACT_PURCHASE = "transact:purchase"; export declare const SCOPE_TRANSACT_SELL = "transact:sell"; export declare const SCOPE_PAYMENTS_SEND = "payments:send"; export declare const SCOPE_PAYMENTS_RECEIVE = "payments:receive"; export declare const SCOPE_PAYMENTS_AUTHORIZE = "payments:authorize"; export declare const SCOPE_CONTRACT_READ = "contract:read"; export declare const SCOPE_CONTRACT_SIGN = "contract:sign"; export declare const SCOPE_DATA_READ = "data:read"; export declare const SCOPE_DATA_WRITE = "data:write"; export declare const SCOPE_DATA_DELETE = "data:delete"; export declare const SCOPE_DATA_EXPORT = "data:export"; export declare const SCOPE_DATA_SHARE = "data:share"; export declare const SCOPE_EXECUTE_TOOL = "execute:tool"; export declare const SCOPE_EXECUTE_CODE = "execute:code"; export declare const SCOPE_GENERATE_CONTENT = "generate:content"; export declare const SCOPE_GENERATE_DEEPFAKE = "generate:deepfake"; export declare const SCOPE_PHYSICAL_ENTER = "physical:enter"; export declare const SCOPE_PHYSICAL_EXIT = "physical:exit"; export declare const SCOPE_PHYSICAL_ACTUATE = "physical:actuate"; export declare const SCOPE_PHYSICAL_MANIPULATE = "physical:manipulate"; export declare const SCOPE_ROBOT_OPERATE = "robot:operate"; export declare const SCOPE_ROBOT_MOVE = "robot:move"; export declare const SCOPE_ROBOT_INTERACT = "robot:interact"; export declare const SCOPE_DRONE_FLY = "drone:fly"; export declare const SCOPE_DRONE_DELIVER = "drone:deliver"; export declare const SCOPE_DRONE_CAPTURE = "drone:capture"; export declare const SCOPE_VEHICLE_OPERATE = "vehicle:operate"; export declare const SCOPE_VEHICLE_TRANSPORT = "vehicle:transport"; export declare const SCOPE_VEHICLE_CHARGE = "vehicle:charge"; export declare const SCOPE_INFRASTRUCTURE_MONITOR = "infrastructure:monitor"; export declare const SCOPE_INFRASTRUCTURE_CONTROL = "infrastructure:control"; export declare const SCOPE_INFRASTRUCTURE_ACCESS = "infrastructure:access"; export declare const SCOPE_ACTUATE_VALVE = "actuate:valve"; export declare const SCOPE_ACTUATE_MOTOR = "actuate:motor"; export declare const SCOPE_ACTUATE_SWITCH = "actuate:switch"; /** * Any scope string starting with CUSTOM_SCOPE_PREFIX is accepted by * validateScopes, passes through expandScopes unchanged, and is treated as * non-sensitive unless the application opts in via out-of-band policy. * * Example: "custom:acme:inventory:read" */ export declare const CUSTOM_SCOPE_PREFIX = "custom:"; /** * Returns the complete canonical scope vocabulary for v1, sorted * lexicographically. The array is a fresh, frozen copy on every call. * Consumers that present scope choices to users (consoles, policy editors) * should derive their lists from this accessor rather than hardcoding scope * strings, so UI vocabularies cannot drift from the protocol. Mirrors Go's * Vocabulary(). */ export declare function vocabulary(): readonly string[]; /** * Returns the wildcard expansion map: wildcard shorthand to constituent * NON-sensitive scopes (sensitive scopes are never included in wildcards — * they must be granted explicitly). The map and its arrays are fresh, * frozen copies on every call. */ export declare function scopeWildcards(): Readonly>; /** Returns an error message if any scope is invalid; null if all valid. * Custom scopes (prefix "custom:") are accepted as valid extensions. */ export declare function validateScopes(scopes: string[]): string | null; /** Returns true if the scope is flagged as sensitive. Custom scopes are * non-sensitive by default; applications may enforce policy out-of-band. */ export declare function isSensitive(scope: string): boolean; /** * Replaces any wildcard scopes with their constituent non-sensitive scopes. * Deduplicates. Returns results in lexicographic order so callers see * deterministic output. Custom scopes pass through unchanged. */ export declare function expandScopes(scopes: string[]): string[]; /** True if the required scope is present after wildcard expansion of `granted`. */ export declare function hasScope(granted: string[], required: string): boolean; /** Set of scopes in every input list after wildcard expansion. Lex-sorted. */ export declare function intersectScopes(...lists: string[][]): string[]; //# sourceMappingURL=scope.d.ts.map