import { Log } from '../../../types'; import { DeepReadonly } from 'ts-essentials'; import { HookStateMap } from './balancer-hook-event-subscriber'; import { Interface } from '@ethersproject/abi'; import { IDexHelper } from '../../../dex-helper'; import { Logger } from 'log4js'; export declare const StableSurge: { type: "StableSurge"; apiName: "STABLE_SURGE"; }; export type StableSurgeConfig = { type: typeof StableSurge.type; apiName: typeof StableSurge.apiName; factoryAddress: string; factoryDeploymentBlock: number; hookAddress: string; }; export type StableSurgePoolSetting = { surgeThresholdPercentage?: bigint; maxSurgeFeePercentage?: bigint; }; export type StableSurgeHookState = Record; /** * Retrieve any initial hook state required. * @returns */ export declare function getStableSurgeHookState(hookInterface: Interface, hookAddress: string, factoryAddress: string, factoryDeploymentBlock: number, dexHelper: IDexHelper, blockNumber: number): Promise; /** * Handles the event emitted when threshold surge percentage changed. * @param event * @param state * @param log * @returns */ export declare function thresholdSurgePercentageChangedEvent(event: any, state: DeepReadonly, log: Readonly, logger: Logger): DeepReadonly | null; /** * Handles the event emitted when max surge fee percentage changed. * @param event * @param state * @param log * @returns */ export declare function maxSurgeFeePercentageChangedEvent(event: any, state: DeepReadonly, log: Readonly): DeepReadonly | null;