import { EventParams, EventParamsSDKType, ProposeParams, ProposeParamsSDKType, SafetyParams, SafetyParamsSDKType } from "./params";
import { ChainBridgeEventInfo, ChainBridgeEventInfoSDKType } from "./bridge_event_info";
import { WithdrawalParams, WithdrawalParamsSDKType, ChainWithdrawalState, ChainWithdrawalStateSDKType, AssetChainWithdrawalDailyUsage, AssetChainWithdrawalDailyUsageSDKType } from "./withdrawal";
import { ChainWithdrawalConfirmationInfo, ChainWithdrawalConfirmationInfoSDKType } from "./bridge_event";
import * as _m0 from "protobufjs/minimal";
import { DeepPartial } from "../../helpers";
/** GenesisState defines the bridge module's genesis state. */
export interface GenesisState {
    /** The parameters of the module. */
    eventParams?: EventParams;
    proposeParams?: ProposeParams;
    safetyParams?: SafetyParams;
    /** Per-chain acknowledged event info */
    acknowledgedEventInfos: ChainBridgeEventInfo[];
    /** Withdrawal parameters for the reverse bridge */
    withdrawalParams?: WithdrawalParams;
    /** Per-chain withdrawal state (для генерации next_id) */
    chainWithdrawalStates: ChainWithdrawalState[];
    /** Per-asset-per-chain withdrawal tracking (для дневных лимитов) */
    withdrawalDailyUsage: AssetChainWithdrawalDailyUsage[];
    /** Per-chain withdrawal confirmation tracking (для EVM событий ReverseBridge) */
    withdrawalConfirmationInfos: ChainWithdrawalConfirmationInfo[];
}
/** GenesisState defines the bridge module's genesis state. */
export interface GenesisStateSDKType {
    event_params?: EventParamsSDKType;
    propose_params?: ProposeParamsSDKType;
    safety_params?: SafetyParamsSDKType;
    acknowledged_event_infos: ChainBridgeEventInfoSDKType[];
    withdrawal_params?: WithdrawalParamsSDKType;
    chain_withdrawal_states: ChainWithdrawalStateSDKType[];
    withdrawal_daily_usage: AssetChainWithdrawalDailyUsageSDKType[];
    withdrawal_confirmation_infos: ChainWithdrawalConfirmationInfoSDKType[];
}
export declare const GenesisState: {
    encode(message: GenesisState, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): GenesisState;
    fromPartial(object: DeepPartial<GenesisState>): GenesisState;
};
//# sourceMappingURL=genesis.d.ts.map