/** @public */ export type ModuleName = { name: string; namespace?: string; }; /** @public */ export type PvInteger = { int: number | string; }; /** @public */ export type PvDecimal = number | { decimal: string; }; /** @public */ export type PvLiteral = string | PvInteger | PvDecimal | boolean; /** @public */ export type PvList = PactValue[]; /** @public */ export type PvObject = { [key: string]: PactValue; }; /** @public */ export type PvModRef = { refName: string; refSpec: ModuleName[]; }; /** @public */ export type PvTime = { time: string; } | { timep: string; }; /** @public */ export type PvCapToken = { ctName: string; ctArgs: PactValue[]; }; /** @public */ export type PactValue = PvLiteral | PvList | Guard | PvObject | PvModRef | PvTime | PvCapToken; /** @public */ export type KeySet = { keys: string[]; pred: string; }; /** @public */ export type KeySetRef = { keysetref: { ns?: string; ksn: string; }; }; /** @public */ export type UserGuard = { fun: string; args: PactValue[]; }; /** @public */ export type CapabilityGuard = { cgName: string; cgArgs: PactValue[]; cgPactId?: string; }; /** @public */ export type ModuleGuard = { moduleName: ModuleName; name: string; }; /** @public */ export type PactGuard = { pactId: string; name: string; }; /** @public */ export type Guard = KeySet | KeySetRef | UserGuard | CapabilityGuard | ModuleGuard | PactGuard; /** @public */ export declare const isKeySetGuard: (guard: Guard) => guard is KeySet; /** @public */ export declare const isKeySetRefGuard: (guard: Guard) => guard is KeySetRef; /** @public */ export declare const isUserGuard: (guard: Guard) => guard is UserGuard; /** @public */ export declare const isCapabilityGuard: (guard: Guard) => guard is CapabilityGuard; /** @public */ export declare const isModuleGuard: (guard: Guard) => guard is ModuleGuard; /** @public */ export declare const isPactGuard: (guard: Guard) => guard is PactGuard;