import type { PromiseOrValue } from "../../../../common";
import type { MockBinanceOracle, MockBinanceOracleInterface } from "../../../../contracts/oracles/mocks/MockBinanceOracle";
import type { Provider, TransactionRequest } from "@ethersproject/providers";
import { Signer, ContractFactory, Overrides } from "ethers";
type MockBinanceOracleConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
export declare class MockBinanceOracle__factory extends ContractFactory {
    constructor(...args: MockBinanceOracleConstructorParams);
    deploy(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<MockBinanceOracle>;
    getDeployTransaction(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): TransactionRequest;
    attach(address: string): MockBinanceOracle;
    connect(signer: Signer): MockBinanceOracle__factory;
    static readonly bytecode = "0x608060405234801561001057600080fd5b506104f8806100206000396000f3fe608060405234801561001057600080fd5b506004361061007c5760003560e01c8063715018a61161005b578063715018a61461010c5780638129fc1c146101145780638da5cb5b1461011c578063f2fde38b1461013557600080fd5b8062e4768b1461008157806341976e09146100ad5780635e9a523c146100ec575b600080fd5b6100ab61008f366004610322565b6001600160a01b03909116600090815260656020526040902055565b005b6100d66100bb36600461035f565b6001600160a01b031660009081526065602052604090205490565b6040516100e39190610390565b60405180910390f35b6100d66100fa36600461035f565b60656020526000908152604090205481565b6100ab610148565b6100ab61015c565b6033546001600160a01b03166040516100e391906103a7565b6100ab61014336600461035f565b61022c565b610150610263565b61015a600061028d565b565b600054610100900460ff161580801561017c5750600054600160ff909116105b806101965750303b158015610196575060005460ff166001145b6101bb5760405162461bcd60e51b81526004016101b290610403565b60405180910390fd5b6000805460ff1916600117905580156101de576000805461ff0019166101001790555b8015610229576000805461ff00191690556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989061022090600190610427565b60405180910390a15b50565b610234610263565b6001600160a01b03811661025a5760405162461bcd60e51b81526004016101b290610478565b6102298161028d565b6033546001600160a01b0316331461015a5760405162461bcd60e51b81526004016101b290610488565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006001600160a01b0382165b92915050565b6102fb816102df565b811461022957600080fd5b80356102ec816102f2565b806102fb565b80356102ec81610311565b6000806040838503121561033857610338600080fd5b60006103448585610306565b925050602061035585828601610317565b9150509250929050565b60006020828403121561037457610374600080fd5b60006103808484610306565b949350505050565b805b82525050565b602081016102ec8284610388565b61038a816102df565b602081016102ec828461039e565b602e81526000602082017f496e697469616c697a61626c653a20636f6e747261637420697320616c72656181526d191e481a5b9a5d1a585b1a5e995960921b602082015291505b5060400190565b602080825281016102ec816103b5565b600060ff82166102ec565b61038a81610413565b602081016102ec828461041e565b602681526000602082017f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181526564647265737360d01b602082015291506103fc565b602080825281016102ec81610435565b60208082528181019081527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726040830152606082016102ec56fea26469706673582212203377f8d4d2c8bf4a2bfa1559fb63677cadff6396397887dbe119d86c00e49dd464736f6c634300080d0033";
    static readonly abi: readonly [{
        readonly inputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "constructor";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint8";
            readonly name: "version";
            readonly type: "uint8";
        }];
        readonly name: "Initialized";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "previousOwner";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "newOwner";
            readonly type: "address";
        }];
        readonly name: "OwnershipTransferred";
        readonly type: "event";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly name: "assetPrices";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "token";
            readonly type: "address";
        }];
        readonly name: "getPrice";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "initialize";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "owner";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "renounceOwnership";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "asset";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "price";
            readonly type: "uint256";
        }];
        readonly name: "setPrice";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "newOwner";
            readonly type: "address";
        }];
        readonly name: "transferOwnership";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }];
    static createInterface(): MockBinanceOracleInterface;
    static connect(address: string, signerOrProvider: Signer | Provider): MockBinanceOracle;
}
export {};
//# sourceMappingURL=MockBinanceOracle__factory.d.ts.map