import type { PromiseOrValue } from "../../../../common";
import type { BurnableToken, BurnableTokenInterface } from "../../../../contracts/test/WBTC.sol/BurnableToken";
import type { Provider, TransactionRequest } from "@ethersproject/providers";
import { Signer, ContractFactory, Overrides } from "ethers";
type BurnableTokenConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
export declare class BurnableToken__factory extends ContractFactory {
    constructor(...args: BurnableTokenConstructorParams);
    deploy(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<BurnableToken>;
    getDeployTransaction(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): TransactionRequest;
    attach(address: string): BurnableToken;
    connect(signer: Signer): BurnableToken__factory;
    static readonly bytecode = "0x608060405234801561001057600080fd5b506103bc806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806318160ddd1461005157806342966c681461006b57806370a082311461008a578063a9059cbb146100b0575b600080fd5b6100596100f0565b60408051918252519081900360200190f35b6100886004803603602081101561008157600080fd5b50356100f6565b005b610059600480360360208110156100a057600080fd5b50356001600160a01b0316610103565b6100dc600480360360408110156100c657600080fd5b506001600160a01b03813516906020013561011e565b604080519115158252519081900360200190f35b60015490565b610100338261023f565b50565b6001600160a01b031660009081526020819052604090205490565b3360009081526020819052604081205482111561015c576040805162461bcd60e51b8152602060048201526000602482015290519081900360640190fd5b6001600160a01b038316610191576040805162461bcd60e51b8152602060048201526000602482015290519081900360640190fd5b336000908152602081905260409020546101b1908363ffffffff61036216565b33600090815260208190526040808220929092556001600160a01b038516815220546101e3908363ffffffff61037416565b6001600160a01b038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b6001600160a01b038216600090815260208190526040902054811115610286576040805162461bcd60e51b8152602060048201526000602482015290519081900360640190fd5b6001600160a01b0382166000908152602081905260409020546102af908263ffffffff61036216565b6001600160a01b0383166000908152602081905260409020556001546102db908263ffffffff61036216565b6001556040805182815290516001600160a01b038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a26040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60008282111561036e57fe5b50900390565b8181018281101561038157fe5b9291505056fea265627a7a7231582039660f8a3fd3854d4a7300cda86c27337d553a0bb837cab0e242dd13eacf66ca64736f6c63430005100032";
    static readonly abi: readonly [{
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "burner";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "value";
            readonly type: "uint256";
        }];
        readonly name: "Burn";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "from";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "to";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "value";
            readonly type: "uint256";
        }];
        readonly name: "Transfer";
        readonly type: "event";
    }, {
        readonly constant: true;
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "_owner";
            readonly type: "address";
        }];
        readonly name: "balanceOf";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: false;
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "_value";
            readonly type: "uint256";
        }];
        readonly name: "burn";
        readonly outputs: readonly [];
        readonly payable: false;
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "totalSupply";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: false;
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "_to";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "_value";
            readonly type: "uint256";
        }];
        readonly name: "transfer";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly payable: false;
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }];
    static createInterface(): BurnableTokenInterface;
    static connect(address: string, signerOrProvider: Signer | Provider): BurnableToken;
}
export {};
