import type { Address } from "viem";
import type { IOnchainSDKPlugin } from "../../sdk/index.js";
import { AddressMap, BasePlugin } from "../../sdk/index.js";
import type { WithdrawableAsset, WithdrawableAssetStateHuman } from "./types.js";
export interface DelayedWithdrawalPluginState {
withdrawableAssets: Record
>;
}
export declare class DelayedWithdrawalPlugin extends BasePlugin implements IOnchainSDKPlugin {
#private;
load(force?: boolean): Promise;
get loaded(): boolean;
/**
* Returns a map of cmAddress -> array of delayed assets
* @throws if plugin is not attached
*/
get withdrawableAssets(): AddressMap>;
stateHuman(_?: boolean): WithdrawableAssetStateHuman[];
get state(): DelayedWithdrawalPluginState;
hydrate(state: DelayedWithdrawalPluginState): void;
}