import { BinaryReader, BinaryWriter } from "../../../binary";
/**
 * DirectOriginator is a message originator defines an information of the requester
 * on direct tss request.
 */
export interface DirectOriginator {
    $typeUrl?: "/band.tss.v1beta1.DirectOriginator";
    /** source_chain_id is the source chain ID that the data is originated from. */
    sourceChainId: string;
    /** requester is the address of the requester, it can be the user address or module address. */
    requester: string;
    /** memo is the note of the message. */
    memo: string;
}
export interface DirectOriginatorProtoMsg {
    typeUrl: "/band.tss.v1beta1.DirectOriginator";
    value: Uint8Array;
}
/**
 * DirectOriginator is a message originator defines an information of the requester
 * on direct tss request.
 */
export interface DirectOriginatorAmino {
    /** source_chain_id is the source chain ID that the data is originated from. */
    source_chain_id?: string;
    /** requester is the address of the requester, it can be the user address or module address. */
    requester?: string;
    /** memo is the note of the message. */
    memo?: string;
}
export interface DirectOriginatorAminoMsg {
    type: "/band.tss.v1beta1.DirectOriginator";
    value: DirectOriginatorAmino;
}
/**
 * DirectOriginator is a message originator defines an information of the requester
 * on direct tss request.
 */
export interface DirectOriginatorSDKType {
    $typeUrl?: "/band.tss.v1beta1.DirectOriginator";
    source_chain_id: string;
    requester: string;
    memo: string;
}
/**
 * TunnelOriginator is a message originator defines an information of the requester
 * on tss request via tunnel module.
 */
export interface TunnelOriginator {
    $typeUrl?: "/band.tss.v1beta1.TunnelOriginator";
    /** source_chain_id is the source chain ID that the data is originated from. */
    sourceChainId: string;
    /** tunnel_id is the tunnel ID that the request is originated from. */
    tunnelId: bigint;
    /** destination_chain_id is the destination chain ID that the data should be relayed to. */
    destinationChainId: string;
    /** destination_contract_address is the destination address that the data should be relayed to. */
    destinationContractAddress: string;
}
export interface TunnelOriginatorProtoMsg {
    typeUrl: "/band.tss.v1beta1.TunnelOriginator";
    value: Uint8Array;
}
/**
 * TunnelOriginator is a message originator defines an information of the requester
 * on tss request via tunnel module.
 */
export interface TunnelOriginatorAmino {
    /** source_chain_id is the source chain ID that the data is originated from. */
    source_chain_id?: string;
    /** tunnel_id is the tunnel ID that the request is originated from. */
    tunnel_id?: string;
    /** destination_chain_id is the destination chain ID that the data should be relayed to. */
    destination_chain_id?: string;
    /** destination_contract_address is the destination address that the data should be relayed to. */
    destination_contract_address?: string;
}
export interface TunnelOriginatorAminoMsg {
    type: "/band.tss.v1beta1.TunnelOriginator";
    value: TunnelOriginatorAmino;
}
/**
 * TunnelOriginator is a message originator defines an information of the requester
 * on tss request via tunnel module.
 */
export interface TunnelOriginatorSDKType {
    $typeUrl?: "/band.tss.v1beta1.TunnelOriginator";
    source_chain_id: string;
    tunnel_id: bigint;
    destination_chain_id: string;
    destination_contract_address: string;
}
export declare const DirectOriginator: {
    typeUrl: string;
    encode(message: DirectOriginator, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): DirectOriginator;
    fromPartial(object: Partial<DirectOriginator>): DirectOriginator;
    fromAmino(object: DirectOriginatorAmino): DirectOriginator;
    toAmino(message: DirectOriginator): DirectOriginatorAmino;
    fromAminoMsg(object: DirectOriginatorAminoMsg): DirectOriginator;
    fromProtoMsg(message: DirectOriginatorProtoMsg): DirectOriginator;
    toProto(message: DirectOriginator): Uint8Array;
    toProtoMsg(message: DirectOriginator): DirectOriginatorProtoMsg;
};
export declare const TunnelOriginator: {
    typeUrl: string;
    encode(message: TunnelOriginator, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): TunnelOriginator;
    fromPartial(object: Partial<TunnelOriginator>): TunnelOriginator;
    fromAmino(object: TunnelOriginatorAmino): TunnelOriginator;
    toAmino(message: TunnelOriginator): TunnelOriginatorAmino;
    fromAminoMsg(object: TunnelOriginatorAminoMsg): TunnelOriginator;
    fromProtoMsg(message: TunnelOriginatorProtoMsg): TunnelOriginator;
    toProto(message: TunnelOriginator): Uint8Array;
    toProtoMsg(message: TunnelOriginator): TunnelOriginatorProtoMsg;
};
