export type ParamValue = string | number | boolean; export type NeArray = [T, ...T[]]; /** * Non-empty readonly array */ export type NeRoArray = readonly [T, ...T[]]; export type ScopeStringFor

= P | `${P}:${string}` | `${P}?${string}`; /** * Allows to quickly check if a scope is for a specific resource. */ export declare function isScopeStringFor

(value: string, prefix: P): value is ScopeStringFor

; /** * Abstract interface that allows parsing various syntaxes into permission * representations. */ export interface ScopeSyntax

{ readonly prefix: P; readonly positional?: ParamValue; keys(): Iterable; getSingle(key: string): ParamValue | null | undefined; getMulti(key: string): readonly ParamValue[] | null | undefined; } export declare function isScopeSyntaxFor

(syntax: ScopeSyntax, prefix: P): syntax is ScopeSyntax

; //# sourceMappingURL=syntax.d.ts.map