import { ContractFactory, ContractTransactionResponse } from "ethers";
import type { Signer, BytesLike, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers";
import type { NonPayableOverrides } from "../common";
import type { UUPSProxy, UUPSProxyInterface } from "../UUPSProxy";
type UUPSProxyConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
export declare class UUPSProxy__factory extends ContractFactory {
    constructor(...args: UUPSProxyConstructorParams);
    getDeployTransaction(_implementation: AddressLike, _data: BytesLike, overrides?: NonPayableOverrides & {
        from?: string;
    }): Promise<ContractDeployTransaction>;
    deploy(_implementation: AddressLike, _data: BytesLike, overrides?: NonPayableOverrides & {
        from?: string;
    }): Promise<UUPSProxy & {
        deploymentTransaction(): ContractTransactionResponse;
    }>;
    connect(runner: ContractRunner | null): UUPSProxy__factory;
    static readonly bytecode = "0x608060405234801561000f575f5ffd5b5060405161042b38038061042b83398101604081905261002e9161024c565b818161003a8282610043565b50505050610331565b61004c826100a1565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a280511561009557610090828261011c565b505050565b61009d61018f565b5050565b806001600160a01b03163b5f036100db57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f5f846001600160a01b031684604051610138919061031b565b5f60405180830381855af49150503d805f8114610170576040519150601f19603f3d011682016040523d82523d5f602084013e610175565b606091505b5090925090506101868583836101b0565b95945050505050565b34156101ae5760405163b398979f60e01b815260040160405180910390fd5b565b6060826101c5576101c08261020f565b610208565b81511580156101dc57506001600160a01b0384163b155b1561020557604051639996b31560e01b81526001600160a01b03851660048201526024016100d2565b50805b9392505050565b80511561021f5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b5f5f6040838503121561025d575f5ffd5b82516001600160a01b0381168114610273575f5ffd5b60208401519092506001600160401b0381111561028e575f5ffd5b8301601f8101851361029e575f5ffd5b80516001600160401b038111156102b7576102b7610238565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102e5576102e5610238565b6040528181528282016020018710156102fc575f5ffd5b8160208401602083015e5f602083830101528093505050509250929050565b5f82518060208501845e5f920191825250919050565b60ee8061033d5f395ff3fe608060405260043610601b575f3560e01c8063aaf10f42146023575b60216050565b005b348015602d575f5ffd5b506034605e565b6040516001600160a01b03909116815260200160405180910390f35b605c6058606a565b609b565b565b5f6065606a565b905090565b5f60657f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b365f5f375f5f365f845af43d5f5f3e80801560b4573d5ff35b3d5ffdfea26469706673582212201f88a9384bfa30d2906e52bacd1d97e51a08a4400b82dd22dfa2452b39c5cca764736f6c634300081c0033";
    static readonly abi: readonly [{
        readonly type: "constructor";
        readonly inputs: readonly [{
            readonly name: "_implementation";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "_data";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "fallback";
        readonly stateMutability: "payable";
    }, {
        readonly type: "function";
        readonly name: "getImplementation";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly name: "";
            readonly type: "address";
            readonly internalType: "address";
        }];
        readonly stateMutability: "view";
    }, {
        readonly type: "event";
        readonly name: "Upgraded";
        readonly inputs: readonly [{
            readonly name: "implementation";
            readonly type: "address";
            readonly indexed: true;
            readonly internalType: "address";
        }];
        readonly anonymous: false;
    }, {
        readonly type: "error";
        readonly name: "AddressEmptyCode";
        readonly inputs: readonly [{
            readonly name: "target";
            readonly type: "address";
            readonly internalType: "address";
        }];
    }, {
        readonly type: "error";
        readonly name: "ERC1967InvalidImplementation";
        readonly inputs: readonly [{
            readonly name: "implementation";
            readonly type: "address";
            readonly internalType: "address";
        }];
    }, {
        readonly type: "error";
        readonly name: "ERC1967NonPayable";
        readonly inputs: readonly [];
    }, {
        readonly type: "error";
        readonly name: "FailedCall";
        readonly inputs: readonly [];
    }];
    static createInterface(): UUPSProxyInterface;
    static connect(address: string, runner?: ContractRunner | null): UUPSProxy;
}
export {};
