import { BigNumberish, BytesLike } from 'ethers';
import Web3 from 'web3';
export declare const web3: Web3;
export declare enum DeploymentType {
    deployedTx = "deployedTx",
    deploymentConfig = "deploymentConfig",
    createConfig = "createConfig"
}
export declare const deploymentProcesses: {
    name: string;
    value: DeploymentType;
    short: string;
}[];
export declare const deploymentFlags: {
    tx: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
    txNetwork: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
    targetNetwork: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
    deploymentType: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
    deploymentConfig: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
};
export interface DeploymentConfig {
    config: {
        contractType: string;
        chainType: string;
        salt: string;
        byteCode: string;
        initCode: string;
    };
    signature: {
        r: string;
        s: string;
        v: number;
    };
    signer: string;
}
export declare type DeploymentConfigStruct = {
    contractType: BytesLike;
    chainType: BigNumberish;
    salt: BytesLike;
    byteCode: BytesLike;
    initCode: BytesLike;
};
export declare const decodeDeploymentConfig: (input: string) => DeploymentConfig;
export declare const decodeDeploymentConfigInput: (input: string) => DeploymentConfig;
export declare const deploymentConfigHash: (deploymentConfig: DeploymentConfig) => string;
export declare const create2address: (deploymentConfig: DeploymentConfig, factoryAddress: string) => string;
