import { Grant } from './authz'; import Long from 'long'; import { Any } from '../../../google/protobuf/any'; import _m0 from 'protobufjs/minimal'; export declare const protobufPackage = "cosmos.authz.v1beta1"; /** Since: cosmos-sdk 0.43 */ /** * MsgGrant is a request type for Grant method. It declares authorization to the grantee * on behalf of the granter with the provided expiration time. */ export interface MsgGrant { $type: 'cosmos.authz.v1beta1.MsgGrant'; granter: string; grantee: string; grant?: Grant; } /** MsgExecResponse defines the Msg/MsgExecResponse response type. */ export interface MsgExecResponse { $type: 'cosmos.authz.v1beta1.MsgExecResponse'; results: Uint8Array[]; } /** * MsgExec attempts to execute the provided messages using * authorizations granted to the grantee. Each message should have only * one signer corresponding to the granter of the authorization. */ export interface MsgExec { $type: 'cosmos.authz.v1beta1.MsgExec'; grantee: string; /** * Authorization Msg requests to execute. Each msg must implement Authorization interface * The x/authz will try to find a grant matching (msg.signers[0], grantee, MsgTypeURL(msg)) * triple and validate it. */ msgs: Any[]; } /** MsgGrantResponse defines the Msg/MsgGrant response type. */ export interface MsgGrantResponse { $type: 'cosmos.authz.v1beta1.MsgGrantResponse'; } /** * MsgRevoke revokes any authorization with the provided sdk.Msg type on the * granter's account with that has been granted to the grantee. */ export interface MsgRevoke { $type: 'cosmos.authz.v1beta1.MsgRevoke'; granter: string; grantee: string; msgTypeUrl: string; } /** MsgRevokeResponse defines the Msg/MsgRevokeResponse response type. */ export interface MsgRevokeResponse { $type: 'cosmos.authz.v1beta1.MsgRevokeResponse'; } export declare const MsgGrant: { $type: "cosmos.authz.v1beta1.MsgGrant"; encode(message: MsgGrant, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MsgGrant; fromJSON(object: any): MsgGrant; toJSON(message: MsgGrant): unknown; fromPartial]: never; }) | undefined; expiration?: ({ seconds?: string | number | Long.Long | undefined; nanos?: number | undefined; } & { seconds?: string | number | (Long.Long & { high: number; low: number; unsigned: boolean; add: (addend: string | number | Long.Long) => Long.Long; and: (other: string | number | Long.Long) => Long.Long; compare: (other: string | number | Long.Long) => number; comp: (other: string | number | Long.Long) => number; divide: (divisor: string | number | Long.Long) => Long.Long; div: (divisor: string | number | Long.Long) => Long.Long; equals: (other: string | number | Long.Long) => boolean; eq: (other: string | number | Long.Long) => boolean; getHighBits: () => number; getHighBitsUnsigned: () => number; getLowBits: () => number; getLowBitsUnsigned: () => number; getNumBitsAbs: () => number; greaterThan: (other: string | number | Long.Long) => boolean; gt: (other: string | number | Long.Long) => boolean; greaterThanOrEqual: (other: string | number | Long.Long) => boolean; gte: (other: string | number | Long.Long) => boolean; isEven: () => boolean; isNegative: () => boolean; isOdd: () => boolean; isPositive: () => boolean; isZero: () => boolean; lessThan: (other: string | number | Long.Long) => boolean; lt: (other: string | number | Long.Long) => boolean; lessThanOrEqual: (other: string | number | Long.Long) => boolean; lte: (other: string | number | Long.Long) => boolean; modulo: (other: string | number | Long.Long) => Long.Long; mod: (other: string | number | Long.Long) => Long.Long; multiply: (multiplier: string | number | Long.Long) => Long.Long; mul: (multiplier: string | number | Long.Long) => Long.Long; negate: () => Long.Long; neg: () => Long.Long; not: () => Long.Long; notEquals: (other: string | number | Long.Long) => boolean; neq: (other: string | number | Long.Long) => boolean; or: (other: string | number | Long.Long) => Long.Long; shiftLeft: (numBits: number | Long.Long) => Long.Long; shl: (numBits: number | Long.Long) => Long.Long; shiftRight: (numBits: number | Long.Long) => Long.Long; shr: (numBits: number | Long.Long) => Long.Long; shiftRightUnsigned: (numBits: number | Long.Long) => Long.Long; shru: (numBits: number | Long.Long) => Long.Long; subtract: (subtrahend: string | number | Long.Long) => Long.Long; sub: (subtrahend: string | number | Long.Long) => Long.Long; toInt: () => number; toNumber: () => number; toBytes: (le?: boolean | undefined) => number[]; toBytesLE: () => number[]; toBytesBE: () => number[]; toSigned: () => Long.Long; toString: (radix?: number | undefined) => string; toUnsigned: () => Long.Long; xor: (other: string | number | Long.Long) => Long.Long; } & { [K_1 in Exclude]: never; }) | undefined; nanos?: number | undefined; } & { [K_2 in Exclude]: never; }) | undefined; } & { [K_3 in Exclude]: never; }) | undefined; } & { [K_4 in Exclude]: never; }>(object: I): MsgGrant; }; export declare const MsgExecResponse: { $type: "cosmos.authz.v1beta1.MsgExecResponse"; encode(message: MsgExecResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MsgExecResponse; fromJSON(object: any): MsgExecResponse; toJSON(message: MsgExecResponse): unknown; fromPartial]: never; }) | undefined; } & { [K_1 in Exclude]: never; }>(object: I): MsgExecResponse; }; export declare const MsgExec: { $type: "cosmos.authz.v1beta1.MsgExec"; encode(message: MsgExec, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MsgExec; fromJSON(object: any): MsgExec; toJSON(message: MsgExec): unknown; fromPartial]: never; })[] & { [K_1 in Exclude]: never; }) | undefined; } & { [K_2 in Exclude]: never; }>(object: I): MsgExec; }; export declare const MsgGrantResponse: { $type: "cosmos.authz.v1beta1.MsgGrantResponse"; encode(_: MsgGrantResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MsgGrantResponse; fromJSON(_: any): MsgGrantResponse; toJSON(_: MsgGrantResponse): unknown; fromPartial]: never; }>(_: I): MsgGrantResponse; }; export declare const MsgRevoke: { $type: "cosmos.authz.v1beta1.MsgRevoke"; encode(message: MsgRevoke, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MsgRevoke; fromJSON(object: any): MsgRevoke; toJSON(message: MsgRevoke): unknown; fromPartial]: never; }>(object: I): MsgRevoke; }; export declare const MsgRevokeResponse: { $type: "cosmos.authz.v1beta1.MsgRevokeResponse"; encode(_: MsgRevokeResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MsgRevokeResponse; fromJSON(_: any): MsgRevokeResponse; toJSON(_: MsgRevokeResponse): unknown; fromPartial]: never; }>(_: I): MsgRevokeResponse; }; /** Msg defines the authz Msg service. */ export interface Msg { /** * Grant grants the provided authorization to the grantee on the granter's * account with the provided expiration time. If there is already a grant * for the given (granter, grantee, Authorization) triple, then the grant * will be overwritten. */ Grant(request: MsgGrant): Promise; /** * Exec attempts to execute the provided messages using * authorizations granted to the grantee. Each message should have only * one signer corresponding to the granter of the authorization. */ Exec(request: MsgExec): Promise; /** * Revoke revokes any authorization corresponding to the provided method name on the * granter's account that has been granted to the grantee. */ Revoke(request: MsgRevoke): Promise; } export declare class MsgClientImpl implements Msg { private readonly rpc; constructor(rpc: Rpc); Grant(request: MsgGrant): Promise; Exec(request: MsgExec): Promise; Revoke(request: MsgRevoke): Promise; } interface Rpc { request(service: string, method: string, data: Uint8Array): Promise; } declare type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export declare type DeepPartial = T extends Builtin ? T : T extends Long ? string | number | Long : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in Exclude]?: DeepPartial; } : Partial; declare type KeysOfUnion = T extends T ? keyof T : never; export declare type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & { [K in Exclude | '$type'>]: never; }; export {};