import { DepositWithBlock, Fill, FillWithBlock, InvalidFill, RelayData, SlowFillLeaf, SortableEvent } from "../interfaces";
import { BigNumber } from "./BigNumberUtils";
import { SpokePoolClient } from "../clients";
export declare function isSlowFill(fill: Fill): boolean;
export declare function getSlowFillLeafLpFeePct(leaf: SlowFillLeaf): BigNumber;
/**
 * Given a SortableEvent type, unpack the available FundsDeposited fields.
 * @note Some fields cannot be evaluated without additional context - i.e. quoteBlockNumber, {from,to}LiteChain.
 * @param rawEvent emitted by FundsDeposited event.
 * @param originChainId Deposit originChainId
 * @returns A mostly-populated DepositWithBlock event.
 */
export declare function unpackDepositEvent(rawEvent: SortableEvent, originChainId: number): Omit<DepositWithBlock, "quoteBlockNumber" | "fromLiteChain" | "toLiteChain">;
/**
 * Given a SortableEvent type, unpack the complete set of FilledRelay fields.
 * @param rawEvent emitted by FundsDeposited event.
 * @param originChainId Deposit originChainId
 * @returns A mostly-populated DepositWithBlock event.
 */
export declare function unpackFillEvent(rawEvent: SortableEvent, destinationChainId: number): FillWithBlock;
/**
 * Compute the RelayData hash for a fill. This can be used to determine the fill status.
 * @param relayData RelayData information that is used to complete a fill.
 * @param destinationChainId Supplementary destination chain ID required by V3 hashes.
 * @returns The corresponding RelayData hash.
 */
export declare function getRelayDataHash(relayData: RelayData, destinationChainId: number): string;
export declare function getRelayHashFromEvent(e: RelayData & {
    destinationChainId: number;
}): string;
export declare function isUnsafeDepositId(depositId: BigNumber): boolean;
export declare function getMessageHash(message: string): string;
export declare function findInvalidFills(spokePoolClients: {
    [chainId: number]: SpokePoolClient;
}): Promise<InvalidFill[]>;
//# sourceMappingURL=SpokeUtils.d.ts.map