import { BinaryReader, BinaryWriter } from '../../../../binary.js';
import { type JsonSafe } from '../../../../json-safe.js';
/** GenesisState defines 08-wasm's keeper genesis state */
export interface GenesisState {
    /** uploaded light client wasm contracts */
    contracts: Contract[];
}
export interface GenesisStateProtoMsg {
    typeUrl: '/ibc.lightclients.wasm.v1.GenesisState';
    value: Uint8Array;
}
/** GenesisState defines 08-wasm's keeper genesis state */
export interface GenesisStateSDKType {
    contracts: ContractSDKType[];
}
/** Contract stores contract code */
export interface Contract {
    /** contract byte code */
    codeBytes: Uint8Array;
}
export interface ContractProtoMsg {
    typeUrl: '/ibc.lightclients.wasm.v1.Contract';
    value: Uint8Array;
}
/** Contract stores contract code */
export interface ContractSDKType {
    code_bytes: Uint8Array;
}
export declare const GenesisState: {
    typeUrl: "/ibc.lightclients.wasm.v1.GenesisState";
    encode(message: GenesisState, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): GenesisState;
    fromJSON(object: any): GenesisState;
    toJSON(message: GenesisState): JsonSafe<GenesisState>;
    fromPartial(object: Partial<GenesisState>): GenesisState;
    fromProtoMsg(message: GenesisStateProtoMsg): GenesisState;
    toProto(message: GenesisState): Uint8Array;
    toProtoMsg(message: GenesisState): GenesisStateProtoMsg;
};
export declare const Contract: {
    typeUrl: "/ibc.lightclients.wasm.v1.Contract";
    encode(message: Contract, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): Contract;
    fromJSON(object: any): Contract;
    toJSON(message: Contract): JsonSafe<Contract>;
    fromPartial(object: Partial<Contract>): Contract;
    fromProtoMsg(message: ContractProtoMsg): Contract;
    toProto(message: Contract): Uint8Array;
    toProtoMsg(message: Contract): ContractProtoMsg;
};
//# sourceMappingURL=genesis.d.ts.map