import { ProxyDeployment } from '@openzeppelin/upgrades-core';
import type { ContractInfo, DeployedContract, EngineBinding } from './binding.js';
import type { DeployProxyOptions } from './options.js';
export interface ProxyDeploymentResult extends DeployedContract {
    kind: ProxyDeployment['kind'];
}
/**
 * Client-neutral orchestration of `deployProxy`: deploys (or reuses) the implementation, encodes
 * the initializer, deploys the proxy from the vendored artifacts via the binding, and records the
 * proxy in the manifest. Returns the proxy deployment record for the binding to turn into a
 * contract instance.
 */
export declare function deployProxy(binding: EngineBinding, implInfo: ContractInfo, args: readonly unknown[], opts: DeployProxyOptions): Promise<ProxyDeploymentResult>;
//# sourceMappingURL=deploy-proxy.d.ts.map