import { EncodeObject, GeneratedType } from "@shareledgerjs/signing"; import { Grant } from "@shareledgerjs/types/cosmos/authz/v1beta1/authz"; import { MsgExec, MsgGrant, MsgRevoke } from "@shareledgerjs/types/cosmos/authz/v1beta1/tx"; import { Any } from "@shareledgerjs/types/google/protobuf/any"; import { BaseClient } from "../../baseclient"; export declare function createAuthzTypes(): ReadonlyArray<[string, GeneratedType]>; export interface MsgExecEncodeObject extends EncodeObject { readonly typeUrl: "/cosmos.authz.v1beta1.MsgExec"; readonly value: Partial; } export interface MsgGrantEncodeObject extends EncodeObject { readonly typeUrl: "/cosmos.authz.v1beta1.MsgGrant"; readonly value: Partial; } export interface MsgRevokeEncodeObject extends EncodeObject { readonly typeUrl: "/cosmos.authz.v1beta1.MsgRevoke"; readonly value: Partial; } export interface AuthzTxExtensionMethods { exec(grantee: string, msgs: Any[]): MsgExecEncodeObject; grant(granter: string, grantee: string, grant: Grant): MsgGrantEncodeObject; revoke(granter: string, grantee: string, msgTypeUrl: string | undefined): MsgRevokeEncodeObject; } export interface AuthzTxExtension { readonly authz: AuthzTxExtensionMethods; } export declare function AuthzTxExtension(constructor: T): T;