import type { SignedHydratedBlockWithHashMeta } from '@xyo-network/xl1-protocol/protocol-lib';
/** Default minimum number of uncle candidates before selecting. */
export declare const DEFAULT_MIN_CANDIDATES = 1;
/** Default back-off timeout in milliseconds. If the head has not changed for this long, minCandidates is ignored. */
export declare const DEFAULT_BACKOFF_MS = 120000;
/** Options for findBestUncle block selection. */
export interface FindBestUncleOptions {
    /** Back-off timeout in ms. If head age exceeds this, minCandidates is ignored. Default: 120_000. */
    backoffMs?: number;
    /** Minimum number of uncle candidates before selecting. Default: 1. */
    minCandidates?: number;
    /** Current timestamp in ms. Injectable for testing. Default: Date.now(). */
    now?: number;
}
/** Selects the best uncle chain from candidates using Proof of Perfect scoring. */
export declare function findBestUncle(finalizedWindowedChain: SignedHydratedBlockWithHashMeta[], uncles: SignedHydratedBlockWithHashMeta[][], options?: FindBestUncleOptions): SignedHydratedBlockWithHashMeta[] | undefined;
//# sourceMappingURL=findBestUncle.d.ts.map