import { Rpc } from "../../../helpers";
import { MsgCreateTunnel, MsgCreateTunnelResponse, MsgUpdateRoute, MsgUpdateRouteResponse, MsgUpdateSignalsAndInterval, MsgUpdateSignalsAndIntervalResponse, MsgWithdrawFeePayerFunds, MsgWithdrawFeePayerFundsResponse, MsgActivateTunnel, MsgActivateTunnelResponse, MsgDeactivateTunnel, MsgDeactivateTunnelResponse, MsgTriggerTunnel, MsgTriggerTunnelResponse, MsgDepositToTunnel, MsgDepositToTunnelResponse, MsgWithdrawFromTunnel, MsgWithdrawFromTunnelResponse, MsgUpdateParams, MsgUpdateParamsResponse } from "./tx";
/** Service definition for Msg. */
export interface Msg {
    /** CreateTunnel is a RPC method to create a new tunnel. */
    createTunnel(request: MsgCreateTunnel): Promise<MsgCreateTunnelResponse>;
    /** UpdateRoute is a RPC method to update a route information of the tunnel. */
    updateRoute(request: MsgUpdateRoute): Promise<MsgUpdateRouteResponse>;
    /** UpdateSignalsAndInterval is a RPC method to update a signals and interval of the tunnel. */
    updateSignalsAndInterval(request: MsgUpdateSignalsAndInterval): Promise<MsgUpdateSignalsAndIntervalResponse>;
    /** WithdrawFeePayerFunds is a RPC method to withdraw fee payer funds to creator. */
    withdrawFeePayerFunds(request: MsgWithdrawFeePayerFunds): Promise<MsgWithdrawFeePayerFundsResponse>;
    /** ActivateTunnel is a RPC method to activate a tunnel. */
    activateTunnel(request: MsgActivateTunnel): Promise<MsgActivateTunnelResponse>;
    /** DeactivateTunnel is a RPC method to deactivate a tunnel. */
    deactivateTunnel(request: MsgDeactivateTunnel): Promise<MsgDeactivateTunnelResponse>;
    /** TriggerTunnel is a RPC method to manually trigger a tunnel. */
    triggerTunnel(request: MsgTriggerTunnel): Promise<MsgTriggerTunnelResponse>;
    /** DepositToTunnel is a RPC method to deposit to an existing tunnel. */
    depositToTunnel(request: MsgDepositToTunnel): Promise<MsgDepositToTunnelResponse>;
    /** WithdrawFromTunnel is a RPC method to withdraw a deposit from an existing tunnel. */
    withdrawFromTunnel(request: MsgWithdrawFromTunnel): Promise<MsgWithdrawFromTunnelResponse>;
    /** UpdateParams is a RPC method to update parameters */
    updateParams(request: MsgUpdateParams): Promise<MsgUpdateParamsResponse>;
}
export declare class MsgClientImpl implements Msg {
    private readonly rpc;
    constructor(rpc: Rpc);
    createTunnel(request: MsgCreateTunnel): Promise<MsgCreateTunnelResponse>;
    updateRoute(request: MsgUpdateRoute): Promise<MsgUpdateRouteResponse>;
    updateSignalsAndInterval(request: MsgUpdateSignalsAndInterval): Promise<MsgUpdateSignalsAndIntervalResponse>;
    withdrawFeePayerFunds(request: MsgWithdrawFeePayerFunds): Promise<MsgWithdrawFeePayerFundsResponse>;
    activateTunnel(request: MsgActivateTunnel): Promise<MsgActivateTunnelResponse>;
    deactivateTunnel(request: MsgDeactivateTunnel): Promise<MsgDeactivateTunnelResponse>;
    triggerTunnel(request: MsgTriggerTunnel): Promise<MsgTriggerTunnelResponse>;
    depositToTunnel(request: MsgDepositToTunnel): Promise<MsgDepositToTunnelResponse>;
    withdrawFromTunnel(request: MsgWithdrawFromTunnel): Promise<MsgWithdrawFromTunnelResponse>;
    updateParams(request: MsgUpdateParams): Promise<MsgUpdateParamsResponse>;
}
