/**
 * In-memory cache for deduplicating concurrent settlement requests.
 *
 * A single instance should be shared across V1 and V2 facilitator scheme
 * instances so that a transaction submitted through one protocol version is
 * also blocked on the other.  Because Node.js is single-threaded, no lock
 * is required — the cache check + insert must simply occur before the first
 * `await` in the settle path.
 */
declare class SettlementCache {
    private readonly entries;
    /**
     * Returns `true` if `key` is already pending settlement (duplicate),
     * or `false` after recording it as newly pending.
     *
     * Callers should reject the settlement when this returns `true`.
     *
     * @param key - The unique identifier for the settlement (typically the transaction signature).
     * @returns `true` if the key was already present (duplicate); `false` otherwise.
     */
    isDuplicate(key: string): boolean;
    /**
     * Remove entries older than the settlement TTL.
     */
    private prune;
}

export { SettlementCache as S };
