import { BinaryReader, BinaryWriter } from "../../../binary"; import { DeepPartial, Exact } from "../../../helpers"; import { JsonSafe } from "../../../json-safe"; export declare const protobufPackage = "cosmos.circuit.v1"; /** Level is the permission level. */ export declare enum Permissions_Level { /** * LEVEL_NONE_UNSPECIFIED - LEVEL_NONE_UNSPECIFIED indicates that the account will have no circuit * breaker permissions. */ LEVEL_NONE_UNSPECIFIED = 0, /** * LEVEL_SOME_MSGS - LEVEL_SOME_MSGS indicates that the account will have permission to * trip or reset the circuit breaker for some Msg type URLs. If this level * is chosen, a non-empty list of Msg type URLs must be provided in * limit_type_urls. */ LEVEL_SOME_MSGS = 1, /** * LEVEL_ALL_MSGS - LEVEL_ALL_MSGS indicates that the account can trip or reset the circuit * breaker for Msg's of all type URLs. */ LEVEL_ALL_MSGS = 2, /** * LEVEL_SUPER_ADMIN - LEVEL_SUPER_ADMIN indicates that the account can take all circuit breaker * actions and can grant permissions to other accounts. */ LEVEL_SUPER_ADMIN = 3, UNRECOGNIZED = -1 } export declare function permissions_LevelFromJSON(object: any): Permissions_Level; export declare function permissions_LevelToJSON(object: Permissions_Level): string; /** * Permissions are the permissions that an account has to trip * or reset the circuit breaker. */ export interface Permissions { /** level is the level of permissions granted to this account. */ level: Permissions_Level; /** * limit_type_urls is used with LEVEL_SOME_MSGS to limit the lists of Msg type * URLs that the account can trip. It is an error to use limit_type_urls with * a level other than LEVEL_SOME_MSGS. */ limitTypeUrls: string[]; } /** GenesisAccountPermissions is the account permissions for the circuit breaker in genesis */ export interface GenesisAccountPermissions { address: string; permissions?: Permissions; } /** GenesisState is the state that must be provided at genesis. */ export interface GenesisState { accountPermissions: GenesisAccountPermissions[]; disabledTypeUrls: string[]; } export declare const Permissions: { typeUrl: string; encode(message: Permissions, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): Permissions; fromJSON(object: any): Permissions; toJSON(message: Permissions): JsonSafe; fromPartial, I>>(object: I): Permissions; }; export declare const GenesisAccountPermissions: { typeUrl: string; encode(message: GenesisAccountPermissions, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): GenesisAccountPermissions; fromJSON(object: any): GenesisAccountPermissions; toJSON(message: GenesisAccountPermissions): JsonSafe; fromPartial, I>>(object: I): GenesisAccountPermissions; }; export declare const GenesisState: { typeUrl: string; encode(message: GenesisState, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): GenesisState; fromJSON(object: any): GenesisState; toJSON(message: GenesisState): JsonSafe; fromPartial, I>>(object: I): GenesisState; };