import { UInt16, UInt16Type, UInt32, UInt32Type } from "./integer.js"; import { PermissionLevel, PermissionLevelType } from "./permission-level.js"; import { PublicKey, PublicKeyType } from "./public-key.js"; import { Struct } from "./struct.js"; export declare class Weight extends UInt16 { } export declare class KeyWeight extends Struct { key: PublicKey; weight: Weight; } export declare class PermissionLevelWeight extends Struct { permission: PermissionLevel; weight: Weight; } export declare class WaitWeight extends Struct { wait_sec: UInt32; weight: Weight; } export type AuthorityType = Authority | { threshold: UInt32Type; keys?: { key: PublicKeyType; weight: UInt16Type; }[]; accounts?: { permission: PermissionLevelType; weight: UInt16Type; }[]; waits?: { wait_sec: UInt32Type; weight: UInt16Type; }[]; }; export declare class Authority extends Struct { threshold: UInt32; keys: KeyWeight[]; accounts: PermissionLevelWeight[]; waits: WaitWeight[]; static from(value: AuthorityType): Authority; get waitThreshold(): number; get keyThreshold(): number; keyWeight(publicKey: PublicKeyType): number; hasPermission(publicKey: PublicKeyType, includePartial?: boolean): boolean; sort(): void; } //# sourceMappingURL=authority.d.ts.map