import { BaseContract, BigNumber, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, PopulatedTransaction, Signer, utils } from "ethers"; import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import { Listener, Provider } from "@ethersproject/providers"; import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface UUPSUpgradeableInterface extends utils.Interface { contractName: "UUPSUpgradeable"; functions: { "proxiableUUID()": FunctionFragment; "upgradeTo(address)": FunctionFragment; "upgradeToAndCall(address,bytes)": FunctionFragment; }; encodeFunctionData(functionFragment: "proxiableUUID", values?: undefined): string; encodeFunctionData(functionFragment: "upgradeTo", values: [string]): string; encodeFunctionData(functionFragment: "upgradeToAndCall", values: [string, BytesLike]): string; decodeFunctionResult(functionFragment: "proxiableUUID", data: BytesLike): Result; decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "upgradeToAndCall", data: BytesLike): Result; events: { "AdminChanged(address,address)": EventFragment; "BeaconUpgraded(address)": EventFragment; "Upgraded(address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AdminChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "BeaconUpgraded"): EventFragment; getEvent(nameOrSignatureOrTopic: "Upgraded"): EventFragment; } export type AdminChangedEvent = TypedEvent<[ string, string ], { previousAdmin: string; newAdmin: string; }>; export type AdminChangedEventFilter = TypedEventFilter; export type BeaconUpgradedEvent = TypedEvent<[string], { beacon: string; }>; export type BeaconUpgradedEventFilter = TypedEventFilter; export type UpgradedEvent = TypedEvent<[string], { implementation: string; }>; export type UpgradedEventFilter = TypedEventFilter; export interface UUPSUpgradeable extends BaseContract { contractName: "UUPSUpgradeable"; connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: UUPSUpgradeableInterface; queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; listeners(eventFilter?: TypedEventFilter): Array>; listeners(eventName?: string): Array; removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { proxiableUUID(overrides?: CallOverrides): Promise<[string]>; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string | Promise; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string | Promise; }): Promise; }; proxiableUUID(overrides?: CallOverrides): Promise; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string | Promise; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string | Promise; }): Promise; callStatic: { proxiableUUID(overrides?: CallOverrides): Promise; upgradeTo(newImplementation: string, overrides?: CallOverrides): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: CallOverrides): Promise; }; filters: { "AdminChanged(address,address)"(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter; AdminChanged(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter; "BeaconUpgraded(address)"(beacon?: string | null): BeaconUpgradedEventFilter; BeaconUpgraded(beacon?: string | null): BeaconUpgradedEventFilter; "Upgraded(address)"(implementation?: string | null): UpgradedEventFilter; Upgraded(implementation?: string | null): UpgradedEventFilter; }; estimateGas: { proxiableUUID(overrides?: CallOverrides): Promise; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string | Promise; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string | Promise; }): Promise; }; populateTransaction: { proxiableUUID(overrides?: CallOverrides): Promise; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string | Promise; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string | Promise; }): Promise; }; }