import { Signer, ContractFactory, BigNumberish, Overrides } from "ethers";
import type { Provider, TransactionRequest } from "@ethersproject/providers";
import type { PolygonTokenBridger, PolygonTokenBridgerInterface } from "../PolygonTokenBridger";
type PolygonTokenBridgerConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
export declare class PolygonTokenBridger__factory extends ContractFactory {
    constructor(...args: PolygonTokenBridgerConstructorParams);
    deploy(_destination: string, _l1PolygonRegistry: string, _l1Weth: string, _l2WrappedMatic: string, _l1ChainId: BigNumberish, _l2ChainId: BigNumberish, overrides?: Overrides & {
        from?: string;
    }): Promise<PolygonTokenBridger>;
    getDeployTransaction(_destination: string, _l1PolygonRegistry: string, _l1Weth: string, _l2WrappedMatic: string, _l1ChainId: BigNumberish, _l2ChainId: BigNumberish, overrides?: Overrides & {
        from?: string;
    }): TransactionRequest;
    attach(address: string): PolygonTokenBridger;
    connect(signer: Signer): PolygonTokenBridger__factory;
    static readonly bytecode = " ";
    static readonly abi: readonly [{
        readonly type: "constructor";
        readonly inputs: readonly [{
            readonly name: "_destination";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "_l1PolygonRegistry";
            readonly type: "address";
            readonly internalType: "contract PolygonRegistry";
        }, {
            readonly name: "_l1Weth";
            readonly type: "address";
            readonly internalType: "contract WETH9Interface";
        }, {
            readonly name: "_l2WrappedMatic";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "_l1ChainId";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }, {
            readonly name: "_l2ChainId";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "receive";
        readonly stateMutability: "payable";
    }, {
        readonly type: "function";
        readonly name: "MATIC";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly name: "";
            readonly type: "address";
            readonly internalType: "contract MaticToken";
        }];
        readonly stateMutability: "view";
    }, {
        readonly type: "function";
        readonly name: "callExit";
        readonly inputs: readonly [{
            readonly name: "data";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }];
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "function";
        readonly name: "destination";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly name: "";
            readonly type: "address";
            readonly internalType: "address";
        }];
        readonly stateMutability: "view";
    }, {
        readonly type: "function";
        readonly name: "l1ChainId";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly name: "";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }];
        readonly stateMutability: "view";
    }, {
        readonly type: "function";
        readonly name: "l1PolygonRegistry";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly name: "";
            readonly type: "address";
            readonly internalType: "contract PolygonRegistry";
        }];
        readonly stateMutability: "view";
    }, {
        readonly type: "function";
        readonly name: "l1Weth";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly name: "";
            readonly type: "address";
            readonly internalType: "contract WETH9Interface";
        }];
        readonly stateMutability: "view";
    }, {
        readonly type: "function";
        readonly name: "l2ChainId";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly name: "";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }];
        readonly stateMutability: "view";
    }, {
        readonly type: "function";
        readonly name: "l2WrappedMatic";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly name: "";
            readonly type: "address";
            readonly internalType: "address";
        }];
        readonly stateMutability: "view";
    }, {
        readonly type: "function";
        readonly name: "retrieve";
        readonly inputs: readonly [{
            readonly name: "token";
            readonly type: "address";
            readonly internalType: "contract IERC20Upgradeable";
        }];
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "function";
        readonly name: "send";
        readonly inputs: readonly [{
            readonly name: "token";
            readonly type: "address";
            readonly internalType: "contract PolygonIERC20Upgradeable";
        }, {
            readonly name: "amount";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }];
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
    }];
    static createInterface(): PolygonTokenBridgerInterface;
    static connect(address: string, signerOrProvider: Signer | Provider): PolygonTokenBridger;
}
export {};
