import { type QueryClient } from '@ixo/impactxclient-sdk'; import { type AuthorizationType, type GetOracleAuthZConfigParams, type GrantClaimSubmitAuthorizationParams, type IAuthzConfig, type Permission, type TransactionFn } from './types.js'; export declare class Authz { private readonly config; private readonly queryClientPromise; private readonly logger; constructor(config: IAuthzConfig, queryClientPromise?: Promise, logger?: { info: (message: string, ...meta: unknown[]) => void; error: (message: string, ...meta: unknown[]) => void; warn: (message: string, ...meta: unknown[]) => void; }); grant(sign: TransactionFn, overrideConfig?: Partial): Promise; getUserGrants(userClaimCollectionId: string): Promise[]>; hasPermission(msgTypeUrl: string | string[], userClaimCollectionId: string): Promise; grantClaimSubmitAuthorization(params: GrantClaimSubmitAuthorizationParams, sign: TransactionFn): Promise; contractOracle(params: GrantClaimSubmitAuthorizationParams, sign: TransactionFn): Promise; grantAllPermissions(sign: TransactionFn): Promise; static createMsgGrantAuthz(payload: Pick & { permission: string; }): { typeUrl: string; value: import("@ixo/impactxclient-sdk/types/codegen/cosmos/authz/v1beta1/tx.js").MsgGrant; }; static createMsgExecAuthZ(payload: Pick & { messages: { typeUrl: string; value: Uint8Array; }[]; }): { typeUrl: string; value: import("@ixo/impactxclient-sdk/types/codegen/cosmos/authz/v1beta1/tx.js").MsgExec; }; static createMsgGrantSend(payload: Pick): { typeUrl: string; value: import("@ixo/impactxclient-sdk/types/codegen/cosmos/authz/v1beta1/tx.js").MsgGrant; }; static createMsgExecSend(payload: Pick & { amounts: { amount: string; denom: string; }[]; }): { typeUrl: string; value: import("@ixo/impactxclient-sdk/types/codegen/cosmos/authz/v1beta1/tx.js").MsgExec; }; static getOracleAuthZConfig(params: GetOracleAuthZConfigParams): Promise; private shouldUseSendAuthorization; } //# sourceMappingURL=authz.d.ts.map