import { CommandCtor, EVMExecuteCommandInstance, EVMDependencies, CommandInfo, ExecutionContext, Input, TransactionResponse as CoreTransactionResponse, IWallet, IProvider, Env } from '@chainlink/evm-gauntlet'; import { ContractFactory, Provider as EthersProvider, TransactionRequest, TransactionResponse, AbstractSigner as EthersWallet } from 'ethers'; import { Result, WriteCommand } from '@chainlink/gauntlet-core'; import { ProposalAction, Transaction } from '../../../types'; import { Timelock } from '../../../contracts/timelock'; export type UserInput = { tx: Transaction; }; export type ContractInput = []; export type UnregisteredCommand> = (deps: EVMDependencies) => CommandCtor>; export type TimelockWrapperCommandConfig> = { id: string; action: ProposalAction; examples: string[]; createCommand: (c: WrappedTimelockCommandCtor, registeredCommands: { [key: string]: CommandCtor>; }) => Promise; }; export declare function createWrapperCommand>(config: TimelockWrapperCommandConfig): (registeredCommands: { [key: string]: CommandCtor>; }) => UnregisteredCommand; export declare class WrappedTimelockCommandCtor> extends WriteCommand> { id: string; env: Env; input: Input; executionContext: ExecutionContext; registeredCommands: { [key: string]: CommandCtor>; }; getCommandInfo: () => CommandInfo; wallet: IWallet; deps: EVMDependencies; provider: IProvider; account: string; contractAddress: string; contract: ContractFactory; action: ProposalAction; timelockAddress: string; timelockObj: Timelock; makeMessage: () => Promise; timelockCommand: EVMExecuteCommandInstance; commandsToExecute: EVMExecuteCommandInstance[]; constructor(flags: any, args: any, id: any, action: any, deps: any, registeredCommands: any); getCommandsToExecute: (tx: Transaction) => Promise[]>; simulate: (signer: string) => Promise; beforeExecute: () => Promise; afterExport: (result: Result) => Promise; afterExecute: (result: Result>) => Promise; simulateInternalTransactions: () => Promise; beforeExecuteInternalTransactions: () => Promise; afterExecuteInternalTransactions: (result: Result>) => Promise; registerMakeMessage: () => () => Promise; execute: () => Promise, {}>>; } //# sourceMappingURL=base.d.ts.map