import { Signer, ContractFactory, Overrides } from "ethers";
import type { Provider, TransactionRequest } from "@ethersproject/providers";
import type { PromiseOrValue } from "../../../../../../common";
import type { SafeERC20, SafeERC20Interface } from "../../../../../../@openzeppelin/contracts/token/ERC20/utils/SafeERC20";
declare type SafeERC20ConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
export declare class SafeERC20__factory extends ContractFactory {
    constructor(...args: SafeERC20ConstructorParams);
    deploy(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<SafeERC20>;
    getDeployTransaction(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): TransactionRequest;
    attach(address: string): SafeERC20;
    connect(signer: Signer): SafeERC20__factory;
    static readonly bytecode = "0x608060405234601957604051603f9081601f823930815050f35b600080fdfe6080604052600080fdfea264697066735822122060b8cb70ba08d8dcb52b091beac4bc2b1ebe5ab372bfeece1ceb62a64396214d64736f6c63430008140033";
    static readonly abi: {
        inputs: {
            internalType: string;
            name: string;
            type: string;
        }[];
        name: string;
        type: string;
    }[];
    static createInterface(): SafeERC20Interface;
    static connect(address: string, signerOrProvider: Signer | Provider): SafeERC20;
}
export {};
