import { Signer, ContractFactory, Overrides } from "ethers";
import type { Provider, TransactionRequest } from "@ethersproject/providers";
import type { AdminRelayTokensAdapter, AdminRelayTokensAdapterInterface } from "../../../contracts/chain-adapters/AdminRelayTokensAdapter";
type AdminRelayTokensAdapterConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
export declare class AdminRelayTokensAdapter__factory extends ContractFactory {
    constructor(...args: AdminRelayTokensAdapterConstructorParams);
    deploy(underlyingAdapter: string, overrides?: Overrides & {
        from?: string;
    }): Promise<AdminRelayTokensAdapter>;
    getDeployTransaction(underlyingAdapter: string, overrides?: Overrides & {
        from?: string;
    }): TransactionRequest;
    attach(address: string): AdminRelayTokensAdapter;
    connect(signer: Signer): AdminRelayTokensAdapter__factory;
    static readonly bytecode = "0x60a034606c57601f6104d338819003918201601f19168301916001600160401b03831184841017607057808492602094604052833981010312606c57516001600160a01b0381168103606c5760805260405161044e90816100858239608051818181608401526101e00152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c806352c8c75c146102e0578063e6eb8ade146100ac5763ecf698631461003a575f80fd5b346100a8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a857602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5f80fd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a8576100de61034d565b60243567ffffffffffffffff81116100a857366023820112156100a857806004013567ffffffffffffffff81116100a85781013660248201116100a857608090829003126100a85773ffffffffffffffffffffffffffffffffffffffff91610148602483016103b6565b90610155604484016103b6565b9084610163608486016103b6565b1694859116036102b8575f936064859473ffffffffffffffffffffffffffffffffffffffff604051948160208701977f52c8c75c000000000000000000000000000000000000000000000000000000008952166024870152166044850152013560648301526084820152608481526101dc60a4826103d7565b51907f00000000000000000000000000000000000000000000000000000000000000005af43d156102b3573d67ffffffffffffffff8111610286576040519061024d60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601836103d7565b81525f60203d92013e5b1561025e57005b7f18cecad5000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610257565b7fd9050a27000000000000000000000000000000000000000000000000000000005f5260045ffd5b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a85761031261034d565b5061031b610370565b50610324610393565b507f4df03728000000000000000000000000000000000000000000000000000000005f5260045ffd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100a857565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100a857565b6064359073ffffffffffffffffffffffffffffffffffffffff821682036100a857565b359073ffffffffffffffffffffffffffffffffffffffff821682036100a857565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176102865760405256fea2646970667358221220b0899ee667d8dd7f0a0c4c222e0cc98b0f6c98e85a8c44406a9da1e0796dbf3364736f6c634300081e0033";
    static readonly abi: readonly [{
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "underlyingAdapter";
            readonly type: "address";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "constructor";
    }, {
        readonly inputs: readonly [];
        readonly name: "DelegateCallFailed";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "RelayTokensNotSupported";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "TargetSpokeMismatch";
        readonly type: "error";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "target";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "bytes";
            readonly name: "message";
            readonly type: "bytes";
        }];
        readonly name: "MessageRelayed";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "l1Token";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "l2Token";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "to";
            readonly type: "address";
        }];
        readonly name: "TokensRelayed";
        readonly type: "event";
    }, {
        readonly inputs: readonly [];
        readonly name: "UNDERLYING_ADAPTER";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "target";
            readonly type: "address";
        }, {
            readonly internalType: "bytes";
            readonly name: "message";
            readonly type: "bytes";
        }];
        readonly name: "relayMessage";
        readonly outputs: readonly [];
        readonly stateMutability: "payable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly name: "relayTokens";
        readonly outputs: readonly [];
        readonly stateMutability: "payable";
        readonly type: "function";
    }];
    static createInterface(): AdminRelayTokensAdapterInterface;
    static connect(address: string, signerOrProvider: Signer | Provider): AdminRelayTokensAdapter;
}
export {};
