import { TxInfo, TxInfoAmino, ContractOperationInfo, ContractOperationInfoAmino } from "./tracking";
import { BinaryReader, BinaryWriter } from "../../../binary";
/** GenesisState defines the initial state of the tracking module. */
export interface GenesisState {
    /** tx_info_last_id defines the last unique ID for a TxInfo objs. */
    txInfoLastId: bigint;
    /** tx_infos defines a list of all the tracked transactions. */
    txInfos: TxInfo[];
    /**
     * contract_op_info_last_id defines the last unique ID for
     * ContractOperationInfo objs.
     */
    contractOpInfoLastId: bigint;
    /** contract_op_infos defines a list of all the tracked contract operations. */
    contractOpInfos: ContractOperationInfo[];
}
export interface GenesisStateProtoMsg {
    typeUrl: "/archway.tracking.v1.GenesisState";
    value: Uint8Array;
}
/** GenesisState defines the initial state of the tracking module. */
export interface GenesisStateAmino {
    /** tx_info_last_id defines the last unique ID for a TxInfo objs. */
    tx_info_last_id?: string;
    /** tx_infos defines a list of all the tracked transactions. */
    tx_infos?: TxInfoAmino[];
    /**
     * contract_op_info_last_id defines the last unique ID for
     * ContractOperationInfo objs.
     */
    contract_op_info_last_id?: string;
    /** contract_op_infos defines a list of all the tracked contract operations. */
    contract_op_infos?: ContractOperationInfoAmino[];
}
export interface GenesisStateAminoMsg {
    type: "/archway.tracking.v1.GenesisState";
    value: GenesisStateAmino;
}
export declare const GenesisState: {
    typeUrl: string;
    encode(message: GenesisState, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): GenesisState;
    fromJSON(object: any): GenesisState;
    toJSON(message: GenesisState): unknown;
    fromPartial(object: Partial<GenesisState>): GenesisState;
    fromAmino(object: GenesisStateAmino): GenesisState;
    toAmino(message: GenesisState): GenesisStateAmino;
    fromAminoMsg(object: GenesisStateAminoMsg): GenesisState;
    fromProtoMsg(message: GenesisStateProtoMsg): GenesisState;
    toProto(message: GenesisState): Uint8Array;
    toProtoMsg(message: GenesisState): GenesisStateProtoMsg;
};
