import { BigNumberish } from '@mimic-fi/helpers'; import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/dist/src/signer-with-address'; import { Contract } from 'ethers'; export declare const ARTIFACTS: { REGISTRY: string; FEE_CONTROLLER: string; AUTHORIZER: string; PRICE_ORACLE: string; SMART_VAULT: string; }; export declare type Mimic = { wrappedNativeToken: Contract; registry: Contract; feeController: Contract; feeCollector: SignerWithAddress; owner: SignerWithAddress; }; export declare function setupMimic(feeCollector: SignerWithAddress, owner: SignerWithAddress): Promise; export declare type Environment = { mimic: Mimic; authorizer: Contract; priceOracle: Contract; smartVault: Contract; owner: SignerWithAddress; }; export declare function deployEnvironment(owner?: SignerWithAddress, mimic?: Mimic): Promise; export declare type TaskConfig = { baseConfig: { owner: string; smartVault: string; previousBalanceConnectorId: string; nextBalanceConnectorId: string; }; gasLimitConfig: { gasPriceLimit: BigNumberish; priorityFeeLimit: BigNumberish; txCostLimit: BigNumberish; txCostLimitPct: BigNumberish; }; timeLockConfig: { mode: BigNumberish; frequency: BigNumberish; allowedAt: BigNumberish; window: BigNumberish; }; tokenIndexConfig: { acceptanceType: BigNumberish; tokens: string[]; }; tokenThresholdConfig: { defaultThreshold: { token: string; min: BigNumberish; max: BigNumberish; }; customThresholdConfigs: { token: string; min: BigNumberish; max: BigNumberish; }[]; }; volumeLimitConfig: { defaultVolumeLimit: { token: string; amount: BigNumberish; period: BigNumberish; }; customVolumeLimitConfigs: { token: string; volumeLimit: { token: string; amount: BigNumberish; period: BigNumberish; }; }[]; }; }; export declare function buildEmptyTaskConfig(owner: SignerWithAddress, smartVault: Contract): TaskConfig;