/**
 * @license
 * SKALE Metaport
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */
import { TokenType } from './TokenType';
export declare enum ActionType {
    erc20_m2s = "erc20_m2s",
    erc20_s2m = "erc20_s2m",
    erc20_s2s = "erc20_s2s",
    wrap = "wrap",
    unwrap = "unwrap",
    unwrap_stuck = "unwrap_stuck",
    eth_m2s = "eth_m2s",
    eth_s2m = "eth_s2m",
    eth_s2s = "eth_s2s",
    eth_unlock = "eth_unlock"
}
export declare function getActionType(chainName1: string, chainName2: string, tokenType: TokenType): ActionType;
export declare abstract class StepMetadata {
    type: ActionType;
    from: string;
    to: string;
    headline: string;
    text: string;
    btnText: string;
    btnLoadingText: string;
    onSource: boolean;
    constructor(type: ActionType, from: string, to: string);
}
export declare class TransferStepMetadata extends StepMetadata {
    headline: string;
    text: string;
    btnText: string;
    btnLoadingText: string;
    onSource: boolean;
}
export declare class WrapStepMetadata extends StepMetadata {
    from: string;
    to: string;
    headline: string;
    text: string;
    btnText: string;
    btnLoadingText: string;
    constructor(from: string, to: string);
}
export declare class UnwrapStepMetadata extends StepMetadata {
    from: string;
    to: string;
    headline: string;
    text: string;
    btnText: string;
    btnLoadingText: string;
    onSource: boolean;
    constructor(from: string, to: string);
}
export declare class UnlockStepMetadata extends StepMetadata {
    from: string;
    to: string;
    headline: string;
    text: string;
    btnText: string;
    btnLoadingText: string;
    onSource: boolean;
    constructor(from: string, to: string);
}
