import { Abi, AbiFunction } from 'abitype'; import type { Artifact, DeploymentConstruction, Deployment, Environment } from '@rocketh/core/types'; import type { EIP1193Account } from 'eip-1193'; import { DeployOptions } from '@rocketh/deploy'; export type { Abi, AbiFunction, Artifact, DeploymentConstruction, Deployment, Environment }; export type PredefinedProxyContract = 'ERC173Proxy' | 'ERC173ProxyWithReceive' | 'UUPS' | 'SharedAdminOpenZeppelinTransparentProxy' | 'SharedAdminOptimizedTransparentProxy'; type DeployMutuallyExclusiveOptions = { alwaysOverride?: boolean; } | { strictBytecodeMatch?: boolean; }; export type ProxyDeployOptions = Omit & DeployMutuallyExclusiveOptions & { proxyDisabled?: boolean; owner?: EIP1193Account; execute?: string | { methodName: string; args?: any[]; } | { init: string | { methodName: string; args?: any[]; }; onUpgrade?: string | { methodName: string; args?: any[]; }; }; upgradeIndex?: number; checkProxyAdmin?: boolean; checkABIConflict?: boolean; deterministicImplementation?: boolean; proxyContract?: PredefinedProxyContract | ({ type: PredefinedProxyContract; } & { type: 'SharedAdminOpenZeppelinTransparentProxy' | 'SharedAdminOptimizedTransparentProxy'; proxyAdminName?: string; }) | { type: 'custom'; artifact: Artifact; args?: ('{implementation}' | '{admin}' | '{data}')[]; }; }; export type ImplementationDeployer = (name: string, args: Omit, 'artifact'>, options?: DeployOptions) => Promise>; export type ProxyEnhancedDeploymentConstruction = Omit, 'artifact'> & { artifact: Artifact | ImplementationDeployer; }; export type ProxyEnhancedDeploymentConstructionWithoutFunction = Omit, 'artifact'> & { artifact: Artifact; }; export type DeployViaProxyFunction = (name: string, params: ProxyEnhancedDeploymentConstruction, options?: ProxyDeployOptions) => Promise>; export declare function deployViaProxy(env: Environment): (name: string, params: ProxyEnhancedDeploymentConstruction, options?: ProxyDeployOptions) => Promise>; //# sourceMappingURL=index.d.ts.map