import { QueryActiveExchangeRatesResponse, QueryAggregatePrevoteResponse, QueryAggregatePrevotesResponse, QueryAggregateVotesResponse, QueryEMAResponse, QueryExchangeRatesResponse, QueryFeederDelegationResponse, QueryMedianDeviationsResponse, QueryMediansResponse, QueryMissCounterResponse, QueryParamsResponse, QuerySlashWindowResponse, QuerySMAResponse, QueryValidatorRewardSetResponse, QueryWMAResponse, QueryAggregateVoteResponse, MsgAggregateExchangeRatePrevote, MsgAggregateExchangeRateVote, MsgDelegateFeedConsent, MsgLegacyGovUpdateParams, MsgGovUpdateParams, MsgGovAddDenoms, MsgGovRemoveCurrencyPairProviders, MsgGovRemoveCurrencyDeviationThresholds, MsgGovCancelUpdateParamPlan, ConvertUSDCtoCHEQResponse } from '@cheqd/ts-proto/cheqd/oracle/v2/index.js';
import { EncodeObject, GeneratedType } from '@cosmjs/proto-signing';
import { AbstractCheqdSDKModule, MinimalImportableCheqdSDKModule } from './_.js';
import { DeliverTxResponse, QueryClient } from '@cosmjs/stargate';
import { DidStdFee, IContext, QueryExtensionSetup } from '../types.js';
import { CheqdQuerier } from '../querier.js';
import { CheqdSigningStargateClient } from '../signer.js';
import { Coin } from 'cosmjs-types/cosmos/base/v1beta1/coin.js';
/** Default extension key for Oracle-related query operations */
export declare const defaultOracleExtensionKey: "oracle";
/**
 * Protobuf message type for Oracle operations.
 * Used for consistent message type identification across the module.
 */
export declare const protobufLiterals: {
    /** Request to fetch exchange rates for specific denoms. */
    readonly QueryExchangeRates: "QueryExchangeRates";
    /** Response containing the exchange rates payload. */
    readonly QueryExchangeRatesResponse: "QueryExchangeRatesResponse";
    /** Request to list all active exchange rate denoms. */
    readonly QueryActiveExchangeRates: "QueryActiveExchangeRates";
    /** Response providing the currently active exchange rate denoms. */
    readonly QueryActiveExchangeRatesResponse: "QueryActiveExchangeRatesResponse";
    /** Request to retrieve the feeder delegation for a validator. */
    readonly QueryFeederDelegation: "QueryFeederDelegation";
    /** Response with feeder delegation details. */
    readonly QueryFeederDelegationResponse: "QueryFeederDelegationResponse";
    /** Request to obtain a validator's miss counter. */
    readonly QueryMissCounter: "QueryMissCounter";
    /** Response returning the miss counter value. */
    readonly QueryMissCounterResponse: "QueryMissCounterResponse";
    /** Request to inspect the current slash window information. */
    readonly QuerySlashWindow: "QuerySlashWindow";
    /** Response detailing the slash window configuration. */
    readonly QuerySlashWindowResponse: "QuerySlashWindowResponse";
    /** Request for a validator's aggregate prevote. */
    readonly QueryAggregatePrevote: "QueryAggregatePrevote";
    /** Response containing the aggregate prevote. */
    readonly QueryAggregatePrevoteResponse: "QueryAggregatePrevoteResponse";
    /** Request for all aggregate prevotes on the network. */
    readonly QueryAggregatePrevotes: "QueryAggregatePrevotes";
    /** Response listing all aggregate prevotes. */
    readonly QueryAggregatePrevotesResponse: "QueryAggregatePrevotesResponse";
    /** Request for aggregate votes from a validator. */
    readonly QueryAggregateVotes: "QueryAggregateVotes";
    /** Response carrying aggregate votes. */
    readonly QueryAggregateVotesResponse: "QueryAggregateVotesResponse";
    /** Request to fetch the oracle module parameters. */
    readonly QueryParams: "QueryParams";
    /** Response returning the oracle module parameters. */
    readonly QueryParamsResponse: "QueryParamsResponse";
    /** Request for price medians across denoms. */
    readonly QueryMedians: "QueryMedians";
    /** Response containing price medians. */
    readonly QueryMediansResponse: "QueryMediansResponse";
    /** Request for median deviations to assess volatility. */
    readonly QueryMedianDeviations: "QueryMedianDeviations";
    /** Response returning median deviation values. */
    readonly QueryMedianDeviationsResponse: "QueryMedianDeviationsResponse";
    /** Request to fetch the validator reward set. */
    readonly QueryValidatorRewardSet: "QueryValidatorRewardSet";
    /** Response with validator reward set data. */
    readonly QueryValidatorRewardSetResponse: "QueryValidatorRewardSetResponse";
    /** Request for an exponential moving average price. */
    readonly QueryEMARequest: "QueryEMARequest";
    /** Response containing exponential moving average data. */
    readonly QueryEMAResponse: "QueryEMAResponse";
    /** Request for a weighted moving average price. */
    readonly QueryWMARequest: "QueryWMARequest";
    /** Response containing weighted moving average data. */
    readonly QueryWMAResponse: "QueryWMAResponse";
    /** Request for a simple moving average price. */
    readonly QuerySMARequest: "QuerySMARequest";
    /** Response containing simple moving average data. */
    readonly QuerySMAResponse: "QuerySMAResponse";
    /** Request to convert a USDC amount into CHEQ. */
    readonly ConvertUSDCtoCHEQRequest: "ConvertUSDCtoCHEQRequest";
    /** Response returning the converted CHEQ amount. */
    readonly ConvertUSDCtoCHEQResponse: "ConvertUSDCtoCHEQResponse";
    /** Message to submit an aggregate exchange rate prevote. */
    readonly MsgAggregateExchangeRatePrevote: "MsgAggregateExchangeRatePrevote";
    /** Message that defines the MsgAggregateExchangeRatePrevote response type. */
    readonly MsgAggregateExchangeRatePrevoteResponse: "MsgAggregateExchangeRatePrevoteResponse";
    /** Message to submit an aggregate exchange rate vote. */
    readonly MsgAggregateExchangeRateVote: "MsgAggregateExchangeRateVote";
    /** Message that defines the MsgAggregateExchangeRateVote response type. */
    readonly MsgAggregateExchangeRateVoteResponse: "MsgAggregateExchangeRateVoteResponse";
    /** Message to delegate oracle voting rights to another address. */
    readonly MsgDelegateFeedConsent: "MsgDelegateFeedConsent";
    /** Message that defines the MsgDelegateFeedConsent response type. */
    readonly MsgDelegateFeedConsentResponse: "MsgDelegateFeedConsentResponse";
    /** Message that defines the MsgLegacyGovUpdateParams request type. */
    readonly MsgLegacyGovUpdateParams: "MsgLegacyGovUpdateParams";
    /** Message that defines the MsgLegacyGovUpdateParams response type. */
    readonly MsgLegacyGovUpdateParamsResponse: "MsgLegacyGovUpdateParamsResponse";
    /** Message that defines the MsgGovUpdateParams request type. */
    readonly MsgGovUpdateParams: "MsgGovUpdateParams";
    /** Message that defines the MsgGovUpdateParams response type. */
    readonly MsgGovUpdateParamsResponse: "MsgGovUpdateParamsResponse";
    /** Message that defines the MsgGovAddDenoms request type. */
    readonly MsgGovAddDenoms: "MsgGovAddDenoms";
    /** Message that defines the MsgGovAddDenoms response type. */
    readonly MsgGovAddDenomsResponse: "MsgGovAddDenomsResponse";
    /** Message that defines the MsgGovRemoveCurrencyPairProviders request type. */
    readonly MsgGovRemoveCurrencyPairProviders: "MsgGovRemoveCurrencyPairProviders";
    /** Message that defines the MsgGovRemoveCurrencyPairProviders response type. */
    readonly MsgGovRemoveCurrencyPairProvidersResponse: "MsgGovRemoveCurrencyPairProvidersResponse";
    /** Message that defines the MsgGovRemoveCurrencyDeviationThresholds request type. */
    readonly MsgGovRemoveCurrencyDeviationThresholds: "MsgGovRemoveCurrencyDeviationThresholds";
    /** Message that defines the MsgGovRemoveCurrencyDeviationThresholds response type. */
    readonly MsgGovRemoveCurrencyDeviationThresholdsResponse: "MsgGovRemoveCurrencyDeviationThresholdsResponse";
    /** Message that defines the MsgGovCancelUpdateParamPlan request type. */
    readonly MsgGovCancelUpdateParamPlan: "MsgGovCancelUpdateParamPlan";
    /** Message that defines the MsgGovCancelUpdateParamPlan response type. */
    readonly MsgGovCancelUpdateParamPlanResponse: "MsgGovCancelUpdateParamPlanResponse";
};
/** Type URL for MsgAggregateExchangeRatePrevote messages */
export declare const typeUrlMsgAggregateExchangeRatePrevote = "/cheqd.oracle.v2.MsgAggregateExchangeRatePrevote";
/** Type URL for MsgAggregateExchangeRatePrevoteResponse messages */
export declare const typeUrlMsgAggregateExchangeRatePrevoteResponse = "/cheqd.oracle.v2.MsgAggregateExchangeRatePrevoteResponse";
/** Type URL for MsgAggregateExchangeRateVote messages */
export declare const typeUrlMsgAggregateExchangeRateVote = "/cheqd.oracle.v2.MsgAggregateExchangeRateVote";
/** Type URL for MsgAggregateExchangeRateVoteResponse messages */
export declare const typeUrlMsgAggregateExchangeRateVoteResponse = "/cheqd.oracle.v2.MsgAggregateExchangeRateVoteResponse";
/** Type URL for MsgDelegateFeedConsent messages */
export declare const typeUrlMsgDelegateFeedConsent = "/cheqd.oracle.v2.MsgDelegateFeedConsent";
/** Type URL for MsgDelegateFeedConsentResponse messages */
export declare const typeUrlMsgDelegateFeedConsentResponse = "/cheqd.oracle.v2.MsgDelegateFeedConsentResponse";
/** Type URL for MsgLegacyGovUpdateParams messages */
export declare const typeUrlMsgLegacyGovUpdateParams = "/cheqd.oracle.v2.MsgLegacyGovUpdateParams";
/** Type URL for MsgLegacyGovUpdateParamsResponse messages */
export declare const typeUrlMsgLegacyGovUpdateParamsResponse = "/cheqd.oracle.v2.MsgLegacyGovUpdateParamsResponse";
/** Type URL for MsgGovUpdateParams messages */
export declare const typeUrlMsgGovUpdateParams = "/cheqd.oracle.v2.MsgGovUpdateParams";
/** Type URL for MsgGovUpdateParamsResponse messages */
export declare const typeUrlMsgGovUpdateParamsResponse = "/cheqd.oracle.v2.MsgGovUpdateParamsResponse";
/** Type URL for MsgGovAddDenoms messages */
export declare const typeUrlMsgGovAddDenoms = "/cheqd.oracle.v2.MsgGovAddDenoms";
/** Type URL for MsgGovAddDenomsResponse messages */
export declare const typeUrlMsgGovAddDenomsResponse = "/cheqd.oracle.v2.MsgGovAddDenomsResponse";
/** Type URL for MsgGovRemoveCurrencyPairProviders messages */
export declare const typeUrlMsgGovRemoveCurrencyPairProviders = "/cheqd.oracle.v2.MsgGovRemoveCurrencyPairProviders";
/** Type URL for MsgGovRemoveCurrencyPairProvidersResponse messages */
export declare const typeUrlMsgGovRemoveCurrencyPairProvidersResponse = "/cheqd.oracle.v2.MsgGovRemoveCurrencyPairProvidersResponse";
/** Type URL for MsgGovRemoveCurrencyDeviationThresholds messages */
export declare const typeUrlMsgGovRemoveCurrencyDeviationThresholds = "/cheqd.oracle.v2.MsgGovRemoveCurrencyDeviationThresholds";
/** Type URL for MsgGovRemoveCurrencyDeviationThresholdsResponse messages */
export declare const typeUrlMsgGovRemoveCurrencyDeviationThresholdsResponse = "/cheqd.oracle.v2.MsgGovRemoveCurrencyDeviationThresholdsResponse";
/** Type URL for MsgGovCancelUpdateParamPlan messages */
export declare const typeUrlMsgGovCancelUpdateParamPlan = "/cheqd.oracle.v2.MsgGovCancelUpdateParamPlan";
/** Type URL for MsgGovCancelUpdateParamPlanResponse messages */
export declare const typeUrlMsgGovCancelUpdateParamPlanResponse = "/cheqd.oracle.v2.MsgGovCancelUpdateParamPlanResponse";
/**
 * Encode object interface for MsgAggregateExchangeRatePrevote
 */
export interface MsgAggregateExchangeRatePrevoteEncodeObject extends EncodeObject {
    typeUrl: typeof typeUrlMsgAggregateExchangeRatePrevote;
    value: Uint8Array;
}
/**
 * Encode object interface for MsgAggregateExchangeRateVote
 */
export interface MsgAggregateExchangeRateVoteEncodeObject extends EncodeObject {
    typeUrl: typeof typeUrlMsgAggregateExchangeRateVote;
    value: Uint8Array;
}
/**
 * Encode object interface for MsgDelegateFeedConsent
 */
export interface MsgDelegateFeedConsentEncodeObject extends EncodeObject {
    typeUrl: typeof typeUrlMsgDelegateFeedConsent;
    value: Uint8Array;
}
/**
 * Encode object interface for MsgLegacyGovUpdateParams
 */
export interface MsgLegacyGovUpdateParamsEncodeObject extends EncodeObject {
    typeUrl: typeof typeUrlMsgLegacyGovUpdateParams;
    value: Uint8Array;
}
/**
 * Encode object interface for MsgGovUpdateParams
 */
export interface MsgGovUpdateParamsEncodeObject extends EncodeObject {
    typeUrl: typeof typeUrlMsgGovUpdateParams;
    value: Uint8Array;
}
/**
 * Encode object interface for MsgGovAddDenoms
 */
export interface MsgGovAddDenomsEncodeObject extends EncodeObject {
    typeUrl: typeof typeUrlMsgGovAddDenoms;
    value: Uint8Array;
}
/**
 * Encode object interface for MsgGovRemoveCurrencyPairProviders
 */
export interface MsgGovRemoveCurrencyPairProvidersEncodeObject extends EncodeObject {
    typeUrl: typeof typeUrlMsgGovRemoveCurrencyPairProviders;
    value: Uint8Array;
}
/**
 * Encode object interface for MsgGovRemoveCurrencyDeviationThresholds
 */
export interface MsgGovRemoveCurrencyDeviationThresholdsEncodeObject extends EncodeObject {
    typeUrl: typeof typeUrlMsgGovRemoveCurrencyDeviationThresholds;
    value: Uint8Array;
}
/**
 * Encode object interface for MsgGovCancelUpdateParamPlan
 */
export interface MsgGovCancelUpdateParamPlanEncodeObject extends EncodeObject {
    typeUrl: typeof typeUrlMsgGovCancelUpdateParamPlan;
    value: Uint8Array;
}
/**
 * Type guard function to check if an object is a MsgAggregateExchangeRatePrevoteEncodeObject
 * @param obj - EncodeObject to check
 * @returns True if the object is a MsgAggregateExchangeRatePrevoteEncodeObject, false otherwise
 */
export declare function isMsgAggregateExchangeRatePrevoteEncodeObject(obj: EncodeObject): obj is MsgAggregateExchangeRatePrevoteEncodeObject;
/**
 * Type guard function to check if an object is a MsgAggregateExchangeRateVoteEncodeObject
 * @param obj - EncodeObject to check
 * @returns True if the object is a MsgAggregateExchangeRateVoteEncodeObject, false otherwise
 */
export declare function isMsgAggregateExchangeRateVoteEncodeObject(obj: EncodeObject): obj is MsgAggregateExchangeRateVoteEncodeObject;
/**
 * Type guard function to check if an object is a MsgDelegateFeedConsentEncodeObject
 * @param obj - EncodeObject to check
 * @returns True if the object is a MsgDelegateFeedConsentEncodeObject, false otherwise
 */
export declare function isMsgDelegateFeedConsentEncodeObject(obj: EncodeObject): obj is MsgDelegateFeedConsentEncodeObject;
/**
 * Type guard function to check if an object is a MsgLegacyGovUpdateParamsEncodeObject
 * @param obj - EncodeObject to check
 * @returns True if the object is a MsgLegacyGovUpdateParamsEncodeObject, false otherwise
 */
export declare function isMsgLegacyGovUpdateParamsEncodeObject(obj: EncodeObject): obj is MsgLegacyGovUpdateParamsEncodeObject;
/**
 * Type guard function to check if an object is a MsgGovUpdateParamsEncodeObject
 * @param obj - EncodeObject to check
 * @returns True if the object is a MsgGovUpdateParamsEncodeObject, false otherwise
 */
export declare function isMsgGovUpdateParamsEncodeObject(obj: EncodeObject): obj is MsgGovUpdateParamsEncodeObject;
/**
 * Type guard function to check if an object is a MsgGovAddDenomsEncodeObject
 * @param obj - EncodeObject to check
 * @returns True if the object is a MsgGovAddDenomsEncodeObject, false otherwise
 */
export declare function isMsgGovAddDenomsEncodeObject(obj: EncodeObject): obj is MsgGovAddDenomsEncodeObject;
/**
 * Type guard function to check if an object is a MsgGovRemoveCurrencyPairProvidersEncodeObject
 * @param obj - EncodeObject to check
 * @returns True if the object is a MsgGovRemoveCurrencyPairProvidersEncodeObject, false otherwise
 */
export declare function isMsgGovRemoveCurrencyPairProvidersEncodeObject(obj: EncodeObject): obj is MsgGovRemoveCurrencyPairProvidersEncodeObject;
/**
 * Type guard function to check if an object is a MsgGovRemoveCurrencyDeviationThresholdsEncodeObject
 * @param obj - EncodeObject to check
 * @returns True if the object is a MsgGovRemoveCurrencyDeviationThresholdsEncodeObject, false otherwise
 */
export declare function isMsgGovRemoveCurrencyDeviationThresholdsEncodeObject(obj: EncodeObject): obj is MsgGovRemoveCurrencyDeviationThresholdsEncodeObject;
/**
 * Type guard function to check if an object is a MsgGovCancelUpdateParamPlanEncodeObject
 * @param obj - EncodeObject to check
 * @returns True if the object is a MsgGovCancelUpdateParamPlanEncodeObject, false otherwise
 */
export declare function isMsgGovCancelUpdateParamPlanEncodeObject(obj: EncodeObject): obj is MsgGovCancelUpdateParamPlanEncodeObject;
/** Enumeration of WMA strategies */
export declare const WMAStrategies: {
    /** Balanced (linear) strategy */
    readonly BALANCED: "BALANCED";
    /** Recent (weighted) strategy */
    readonly RECENT: "RECENT";
    /** Oldest (weighted) strategy */
    readonly OLDEST: "OLDEST";
    /** Custom weights strategy */
    readonly CUSTOM: "CUSTOM";
};
/** Enumeration of moving averages */
export declare const MovingAverages: {
    /** Exponential Moving Average */
    readonly EMA: "ema";
    /** Weighted Moving Average */
    readonly WMA: "wma";
    /** Simple Moving Average */
    readonly SMA: "sma";
};
/** Type representing WMA strategies */
export type WMAStrategy = (typeof WMAStrategies)[keyof typeof WMAStrategies];
/** Type representing moving averages */
export type MovingAverage = (typeof MovingAverages)[keyof typeof MovingAverages];
/** Minimal importable version of the Oracle module for clean external interfaces */
export type MinimalImportableOracleModule = MinimalImportableCheqdSDKModule<OracleModule>;
/**
 * Oracle extension interface for querier functionality.
 * Provides methods for querying oracle exchange rates, moving averages and other oracle-related data.
 */
export type OracleExtension = {
    readonly [defaultOracleExtensionKey]: {
        /** Queries the exchange rate for a given denom */
        readonly queryExchangeRates: (denom: string) => Promise<QueryExchangeRatesResponse>;
        /** Query all active exchange rate denoms */
        readonly queryActiveExchangeRates: () => Promise<QueryActiveExchangeRatesResponse>;
        /** Query feeder delegation for a validator */
        readonly queryFeederDelegation: (validatorAddr: string) => Promise<QueryFeederDelegationResponse>;
        /** Query miss counter for a validator */
        readonly queryMissCounter: (validatorAddr: string) => Promise<QueryMissCounterResponse>;
        /** Query current slash window information */
        readonly querySlashWindow: () => Promise<QuerySlashWindowResponse>;
        /** Query aggregate prevote for a validator */
        readonly queryAggregatePrevote: (validatorAddr: string) => Promise<QueryAggregatePrevoteResponse>;
        /** Query aggregate prevotes */
        readonly queryAggregatePrevotes: () => Promise<QueryAggregatePrevotesResponse>;
        /** Query aggregate vote for a validator */
        readonly queryAggregateVote: (validatorAddr: string) => Promise<QueryAggregateVoteResponse>;
        /** Query aggregate votes for a validator */
        readonly queryAggregateVotes: (validatorAddr: string) => Promise<QueryAggregateVotesResponse>;
        /** Query oracle module parameters */
        readonly queryParams: () => Promise<QueryParamsResponse>;
        /** Query price medians */
        readonly queryMedians: (denom: string, numStamps: number) => Promise<QueryMediansResponse>;
        /** Query price median deviations */
        readonly queryMedianDeviations: (denom: string) => Promise<QueryMedianDeviationsResponse>;
        /** Query validator reward set */
        readonly queryValidatorRewardSet: () => Promise<QueryValidatorRewardSetResponse>;
        /** Query exponential moving average price */
        readonly queryEMA: (denom: string) => Promise<QueryEMAResponse>;
        /** Query weighted moving average price */
        readonly queryWMA: (denom: string, strategy?: WMAStrategy, weights?: bigint[]) => Promise<QueryWMAResponse>;
        /** Query simple moving average price */
        readonly querySMA: (denom: string) => Promise<QuerySMAResponse>;
        /** Convert USD values to CHEQ */
        readonly convertUSDtoCHEQ: (usdAmount: string, movingAverage: MovingAverage, wmaStrategy?: WMAStrategy, weights?: bigint[]) => Promise<ConvertUSDCtoCHEQResponse>;
    };
};
/** Options to control how oracle governance messages are wrapped in MsgSubmitProposal. */
export interface OracleGovProposalOptions {
    readonly deposit?: Coin[];
    readonly metadata?: string;
    readonly summary?: string;
    readonly expedited?: boolean;
}
/** Sets up the Oracle extension for the querier client.
 * Creates and configures the Oracle-specific query methods.
 * @param base - Base QueryClient to extend
 * @returns Configured Oracle extension with query methods
 */
export declare const setupOracleExtension: (base: QueryClient) => OracleExtension;
/**
 * Oracle Module class providing comprehensive access to Oracle functionalities.
 * Handles both querying and transaction operations related to the Oracle module.
 */
export declare class OracleModule extends AbstractCheqdSDKModule {
    static readonly registryTypes: Iterable<[string, GeneratedType]>;
    /** Base denomination tickers for Cheqd network Oracle */
    static readonly baseDenomTickers: {
        readonly CHEQ: "CHEQ";
        readonly USDC: "USDC";
        readonly USDT: "USDT";
    };
    /** Querier extension setup function for Oracle operations */
    static readonly querierExtensionSetup: QueryExtensionSetup<OracleExtension>;
    /** Querier instance with Oracle extension capabilities */
    querier: CheqdQuerier & OracleExtension;
    /**
     * Constructs a new Oracle module instance.
     *
     * @param signer - Signing client for blockchain transactions
     * @param querier - Querier client with Oracle extension for data retrieval
     */
    constructor(signer: CheqdSigningStargateClient, querier: CheqdQuerier & OracleExtension);
    /**
     * Gets the registry types for Oracle message encoding/decoding.
     *
     * @returns Iterable of [typeUrl, GeneratedType] pairs for the registry
     */
    getRegistryTypes(): Iterable<[string, GeneratedType]>;
    /**
     * Gets the querier extension setup for Oracle operations.
     *
     * @returns Query extension setup function for Oracle functionality
     */
    getQuerierExtensionSetup(): QueryExtensionSetup<OracleExtension>;
    /**
     * Queries the module parameters from the blockchain.
     *
     * @returns Promise resolving to the QueryParamsResponse containing module parameters
     */
    queryParams(): Promise<QueryParamsResponse>;
    /**
     * Queries the exchange rate for a specific denom.
     * @param denom - The denomination to query the exchange rate for
     * @returns Promise resolving to the QueryExchangeRatesResponse containing the exchange rate
     */
    queryExchangeRate(denom: string): Promise<QueryExchangeRatesResponse>;
    /**
     * Queries all active exchange rate denoms.
     * @returns Promise resolving to the QueryActiveExchangeRatesResponse containing active denoms
     */
    queryActiveExchangeRates(): Promise<QueryActiveExchangeRatesResponse>;
    /**
     * Queries the Exponential Moving Average (EMA) for a given denom.
     * @param denom - The denomination to query the EMA for
     * @returns Promise resolving to the QueryEMAResponse containing the EMA price in string Decimal format
     */
    queryEMA(denom: string): Promise<QueryEMAResponse>;
    /**
     * Queries the Weighted Moving Average (WMA) for a given denom.
     * @param denom - The denomination to query the WMA for
     * @param strategy - Optional WMA strategy, defaults to 'BALANCED'
     * @param weights - Optional custom weights for the WMA calculation
     * @returns Promise resolving to the QueryWMAResponse containing the WMA price in string Decimal format
     */
    queryWMA(denom: string, strategy?: WMAStrategy, weights?: number[]): Promise<QueryWMAResponse>;
    /**
     * Queries the Simple Moving Average (SMA) for a given denom.
     * @param denom - The denomination to query the SMA for
     * @returns Promise resolving to the QuerySMAResponse containing the SMA price in string Decimal format
     */
    querySMA(denom: string): Promise<QuerySMAResponse>;
    /**
     * Converts a USD amount to CHEQ using the specified moving average type.
     * @param usdAmount - The USD amount to convert
     * @param movingAverage - The type of moving average to use for conversion
     * @param wmaStrategy - Optional WMA strategy, defaults to 'BALANCED'
     * @param weights - Optional custom weights for WMA calculation
     * @returns Promise resolving to the ConvertUSDCtoCHEQResponse containing the converted CHEQ amount
     */
    convertUSDtoCHEQ(usdAmount: string, movingAverage: MovingAverage, wmaStrategy?: WMAStrategy, weights?: number[]): Promise<ConvertUSDCtoCHEQResponse>;
    /**
     * Broadcasts an aggregate exchange rate prevote transaction.
     *
     * @param payload - Message payload describing the prevote
     * @param address - Address responsible for paying the transaction fees
     * @param fee - Optional fee configuration, defaults to automatic calculation
     * @param memo - Optional transaction memo
     * @param context - Optional SDK context to lazily resolve signer or wallet
     * @returns Promise resolving to the DeliverTxResponse
     */
    aggregateExchangeRatePrevoteTx(payload: MsgAggregateExchangeRatePrevote, address: string, fee?: DidStdFee | 'auto' | number, memo?: string, context?: IContext): Promise<DeliverTxResponse>;
    /**
     * Broadcasts an aggregate exchange rate vote transaction.
     *
     * @param payload - Message payload describing the vote
     * @param address - Address responsible for paying the transaction fees
     * @param fee - Optional fee configuration, defaults to automatic calculation
     * @param memo - Optional transaction memo
     * @param context - Optional SDK context to lazily resolve signer or wallet
     * @returns Promise resolving to the DeliverTxResponse
     */
    aggregateExchangeRateVoteTx(payload: MsgAggregateExchangeRateVote, address: string, fee?: DidStdFee | 'auto' | number, memo?: string, context?: IContext): Promise<DeliverTxResponse>;
    /**
     * Delegates feed consent between operator and delegate.
     *
     * @param payload - Message payload describing the delegation
     * @param address - Address responsible for paying the transaction fees
     * @param fee - Optional fee configuration, defaults to automatic calculation
     * @param memo - Optional transaction memo
     * @param context - Optional SDK context to lazily resolve signer or wallet
     * @returns Promise resolving to the DeliverTxResponse
     */
    delegateFeedConsentTx(payload: MsgDelegateFeedConsent, address: string, fee?: DidStdFee | 'auto' | number, memo?: string, context?: IContext): Promise<DeliverTxResponse>;
    /**
     * Submits a legacy governance update params transaction via MsgSubmitProposal.
     *
     * @param payload - Legacy governance update parameters payload
     * @param address - Address responsible for paying the transaction fees
     * @param fee - Optional fee configuration, defaults to automatic calculation
     * @param memo - Optional transaction memo
     * @param context - Optional SDK context to lazily resolve signer or wallet
     * @param proposalOptions - Optional MsgSubmitProposal configuration such as deposit or metadata
     * @returns Promise resolving to the DeliverTxResponse
     */
    legacyGovUpdateParamsTx(payload: MsgLegacyGovUpdateParams, address: string, fee?: DidStdFee | 'auto' | number, memo?: string, context?: IContext, proposalOptions?: OracleGovProposalOptions): Promise<DeliverTxResponse>;
    /**
     * Submits a governance update params transaction via MsgSubmitProposal.
     *
     * @param payload - Governance update parameters payload
     * @param address - Address responsible for paying the transaction fees
     * @param fee - Optional fee configuration, defaults to automatic calculation
     * @param memo - Optional transaction memo
     * @param context - Optional SDK context to lazily resolve signer or wallet
     * @param proposalOptions - Optional MsgSubmitProposal configuration such as deposit or metadata
     * @returns Promise resolving to the DeliverTxResponse
     */
    govUpdateParamsTx(payload: MsgGovUpdateParams, address: string, fee?: DidStdFee | 'auto' | number, memo?: string, context?: IContext, proposalOptions?: OracleGovProposalOptions): Promise<DeliverTxResponse>;
    /**
     * Adds new denoms to the oracle registry via MsgSubmitProposal.
     *
     * @param payload - Governance proposal payload that describes the new denoms
     * @param address - Address responsible for paying the transaction fees
     * @param fee - Optional fee configuration, defaults to automatic calculation
     * @param memo - Optional transaction memo
     * @param context - Optional SDK context to lazily resolve signer or wallet
     * @param proposalOptions - Optional MsgSubmitProposal configuration such as deposit or metadata
     * @returns Promise resolving to the DeliverTxResponse
     */
    govAddDenomsTx(payload: MsgGovAddDenoms, address: string, fee?: DidStdFee | 'auto' | number, memo?: string, context?: IContext, proposalOptions?: OracleGovProposalOptions): Promise<DeliverTxResponse>;
    /**
     * Removes currency pair providers from the oracle configuration via MsgSubmitProposal.
     *
     * @param payload - Governance proposal payload describing providers to remove
     * @param address - Address responsible for paying the transaction fees
     * @param fee - Optional fee configuration, defaults to automatic calculation
     * @param memo - Optional transaction memo
     * @param context - Optional SDK context to lazily resolve signer or wallet
     * @param proposalOptions - Optional MsgSubmitProposal configuration such as deposit or metadata
     * @returns Promise resolving to the DeliverTxResponse
     */
    govRemoveCurrencyPairProvidersTx(payload: MsgGovRemoveCurrencyPairProviders, address: string, fee?: DidStdFee | 'auto' | number, memo?: string, context?: IContext, proposalOptions?: OracleGovProposalOptions): Promise<DeliverTxResponse>;
    /**
     * Removes currency deviation thresholds via MsgSubmitProposal.
     *
     * @param payload - Governance payload describing currencies to remove
     * @param address - Address responsible for paying the transaction fees
     * @param fee - Optional fee configuration, defaults to automatic calculation
     * @param memo - Optional transaction memo
     * @param context - Optional SDK context to lazily resolve signer or wallet
     * @param proposalOptions - Optional MsgSubmitProposal configuration such as deposit or metadata
     * @returns Promise resolving to the DeliverTxResponse
     */
    govRemoveCurrencyDeviationThresholdsTx(payload: MsgGovRemoveCurrencyDeviationThresholds, address: string, fee?: DidStdFee | 'auto' | number, memo?: string, context?: IContext, proposalOptions?: OracleGovProposalOptions): Promise<DeliverTxResponse>;
    /**
     * Cancels a pending parameter update plan via MsgSubmitProposal.
     *
     * @param payload - Governance payload containing cancellation details
     * @param address - Address responsible for paying the transaction fees
     * @param fee - Optional fee configuration, defaults to automatic calculation
     * @param memo - Optional transaction memo
     * @param context - Optional SDK context to lazily resolve signer or wallet
     * @param proposalOptions - Optional MsgSubmitProposal configuration such as deposit or metadata
     * @returns Promise resolving to the DeliverTxResponse
     */
    govCancelUpdateParamPlanTx(payload: MsgGovCancelUpdateParamPlan, address: string, fee?: DidStdFee | 'auto' | number, memo?: string, context?: IContext, proposalOptions?: OracleGovProposalOptions): Promise<DeliverTxResponse>;
    /**
     * Ensures a signer client exists and resolves the address to use for broadcasting.
     *
     * @param address - Address provided by the caller (optional)
     * @param context - Optional SDK context used to resolve signer or wallet
     * @returns Resolved signer address
     */
    private ensureSignerAddress;
    /**
     * Signs and broadcasts the provided oracle transaction.
     *
     * @param message - EncodeObject representing the oracle message
     * @param address - Address responsible for the transaction fees
     * @param fee - Optional fee configuration, defaults to automatic calculation
     * @param memo - Optional transaction memo
     * @param context - Optional SDK context used to resolve signer or wallet
     * @returns Promise resolving to the DeliverTxResponse
     */
    private broadcastOracleTx;
    /**
     * Parses a decimal price string back into its atomic representation.
     * @param price - Price in decimal string format
     * @returns Promise resolving to the atomic string representation of the price
     */
    static parseFromDecimalPrice(price: string): Promise<string>;
}
//# sourceMappingURL=oracle.d.ts.map