interface RequiredDeployConfig { numDeployConfirmations?: number; finalSystemOwner?: string; portalGuardian: string; controller?: string; l1StartingBlockTag: string; l1ChainID: number; l2ChainID: number; l2BlockTime: number; maxSequencerDrift: number; sequencerWindowSize: number; channelTimeout: number; p2pSequencerAddress: string; batchInboxAddress: string; batchSenderAddress: string; l2OutputOracleSubmissionInterval: number; l2OutputOracleStartingBlockNumber?: number; l2OutputOracleStartingTimestamp?: number; l2OutputOracleProposer: string; l2OutputOracleChallenger: string; governanceTokenSymbol: string; governanceTokenName: string; governanceTokenOwner: string; finalizationPeriodSeconds: number; proxyAdminOwner: string; baseFeeVaultRecipient: string; l1FeeVaultRecipient: string; sequencerFeeVaultRecipient: string; } interface OptionalL1DeployConfig { cliqueSignerAddress: string; l1BlockTime: number; l1GenesisBlockNonce: string; l1GenesisBlockGasLimit: string; l1GenesisBlockDifficulty: string; l1GenesisBlockMixHash: string; l1GenesisBlockCoinbase: string; l1GenesisBlockNumber: string; l1GenesisBlockGasUsed: string; l1GenesisBlockParentHash: string; l1GenesisBlockBaseFeePerGas: string; } interface OptionalL2DeployConfig { l2GenesisBlockNonce: string; l2GenesisBlockGasLimit: string; l2GenesisBlockDifficulty: string; l2GenesisBlockMixHash: string; l2GenesisBlockNumber: string; l2GenesisBlockGasUsed: string; l2GenesisBlockParentHash: string; l2GenesisBlockBaseFeePerGas: string; l2GenesisBlockCoinbase: string; l2GenesisRegolithTimeOffset: string; eip1559Denominator: number; eip1559Elasticity: number; gasPriceOracleOverhead: number; gasPriceOracleScalar: number; } export type DeployConfig = RequiredDeployConfig & Partial & Partial; export declare const deployConfigSpec: { [K in keyof DeployConfig]: { type: 'string' | 'number' | 'boolean' | 'address'; default?: any; }; }; export {};