import { OfflineSigner } from '@cosmjs/proto-signing-cjs';
import { DIDModule, MinimalImportableDIDModule, DidExtension } from './modules/did';
import { MinimalImportableResourceModule, ResourceModule, ResourceExtension } from './modules/resource';
import { AbstractCheqdSDKModule } from './modules/_';
import { CheqdSigningStargateClient } from './signer';
import { CheqdNetwork, IModuleMethodMap } from './types';
import { GasPrice } from '@cosmjs/stargate-cjs';
import { CheqdQuerier } from './querier';
import { FeemarketExtension, FeemarketModule, MinimalImportableFeemarketModule } from './modules/feemarket';
import { FeeabstractionExtension, FeeabstractionModule, MinimalImportableFeeabstractionModule } from './modules/feeabstraction';
export interface ICheqdSDKOptions {
    modules: AbstractCheqdSDKModule[];
    querierExtensions?: Record<string, any>[];
    rpcUrl: string;
    network?: CheqdNetwork;
    gasPrice?: GasPrice;
    authorizedMethods?: string[];
    readonly wallet: OfflineSigner;
}
export type DefaultCheqdSDKModules = MinimalImportableDIDModule & MinimalImportableResourceModule & MinimalImportableFeemarketModule & MinimalImportableFeeabstractionModule;
export interface CheqdSDK extends DefaultCheqdSDKModules {
}
export declare class CheqdSDK {
    methods: IModuleMethodMap;
    signer: CheqdSigningStargateClient;
    querier: CheqdQuerier & DidExtension & ResourceExtension & FeemarketExtension & FeeabstractionExtension;
    options: ICheqdSDKOptions;
    private protectedMethods;
    constructor(options: ICheqdSDKOptions);
    execute<P = any, R = any>(method: string, ...params: P[]): Promise<R>;
    private loadModules;
    private loadRegistry;
    private loadQuerierExtensions;
    build(): Promise<CheqdSDK>;
}
export declare function filterUnauthorizedMethods(methods: IModuleMethodMap, authorizedMethods: string[], protectedMethods: string[]): IModuleMethodMap;
export declare function createCheqdSDK(options: ICheqdSDKOptions): Promise<CheqdSDK>;
export { DIDModule, ResourceModule, FeemarketModule, FeeabstractionModule };
export { AbstractCheqdSDKModule, applyMixins } from './modules/_';
export { DidExtension, MinimalImportableDIDModule, MsgCreateDidDocEncodeObject, MsgCreateDidDocResponseEncodeObject, MsgUpdateDidDocEncodeObject, MsgUpdateDidDocResponseEncodeObject, MsgDeactivateDidDocEncodeObject, MsgDeactivateDidDocResponseEncodeObject, contexts, defaultDidExtensionKey, protobufLiterals as protobufLiteralsDid, typeUrlMsgCreateDidDoc, typeUrlMsgCreateDidDocResponse, typeUrlMsgUpdateDidDoc, typeUrlMsgUpdateDidDocResponse, typeUrlMsgDeactivateDidDoc, typeUrlMsgDeactivateDidDocResponse, setupDidExtension, isMsgCreateDidDocEncodeObject, isMsgUpdateDidDocEncodeObject, isMsgDeactivateDidDocEncodeObject, } from './modules/did';
export { ResourceExtension, MinimalImportableResourceModule, defaultResourceExtensionKey, protobufLiterals as protobufLiteralsResource, typeUrlMsgCreateResource, typeUrlMsgCreateResourceResponse, setupResourceExtension, isMsgCreateResourceEncodeObject, } from './modules/resource';
export { FeemarketExtension, MinimalImportableFeemarketModule, DefaultGasPriceTiers, defaultFeemarketExtensionKey, defaultGasPriceTiers, protobufLiterals as protobufLiteralsFeemarket, typeUrlGasPriceResponse, typeUrlGasPricesResponse, typeUrlParamsResponse, setupFeemarketExtension, isGasPriceEncodeObject, isGasPricesEncodeObject, isParamsEncodeObject, } from './modules/feemarket';
export { FeeabstractionExtension, MinimalImportableFeeabstractionModule, defaultExtensionKey, protobufLiterals as protobufLiteralsFeeabstraction, typeUrlMsgAddHostZone, typeUrlMsgAddHostZoneResponse, typeUrlMsgFundFeeAbsModuleAccount, typeUrlMsgFundFeeAbsModuleAccountResponse, typeUrlMsgRemoveHostZone, typeUrlMsgRemoveHostZoneResponse, typeUrlMsgUpdateHostZone, typeUrlMsgUpdateHostZoneResponse, typeUrlMsgSendQueryIbcDenomTWAP, typeUrlMsgSendQueryIbcDenomTWAPResponse, typeUrlMsgSwapCrossChain, typeUrlMsgSwapCrossChainResponse, typeUrlMsgUpdateParams, typeUrlMsgUpdateParamsResponse, setupFeeabstractionExtension, isMsgAddHostZoneEncodeObject, isMsgAddHostZoneResponseEncodeObject, isMsgFundFeeAbsModuleAccountEncodeObject, isMsgFundFeeAbsModuleAccountResponseEncodeObject, isMsgRemoveHostZoneEncodeObject, isMsgRemoveHostZoneResponseEncodeObject, isMsgUpdateHostZoneEncodeObject, isMsgUpdateHostZoneResponseEncodeObject, isMsgSendQueryIbcDenomTWAPEncodeObject, isMsgSendQueryIbcDenomTWAPResponseEncodeObject, isMsgSwapCrossChainEncodeObject, isMsgSwapCrossChainResponseEncodeObject, isMsgUpdateParamsEncodeObject, isMsgUpdateParamsResponseEncodeObject, } from './modules/feeabstraction';
export * from './signer';
export * from './querier';
export * from './registry';
export * from './types';
export { TImportableEd25519Key, createKeyPairRaw, createKeyPairBase64, createKeyPairHex, createVerificationKeys, createDidVerificationMethod, createDidPayload, createSignInputsFromImportableEd25519Key, validateSpecCompliantPayload, isEqualKeyValuePair, createCosmosPayerWallet, getCosmosAccount, checkBalance, toMultibaseRaw, } from './utils';
//# sourceMappingURL=index.d.ts.map