type SatHashSpec = {
    version: number;
    domains: {
        roundSeed: string;
        bucketHash: string;
        allocation: string;
        difficulty: string;
        coordination: string;
        trace: string;
        commit: string;
    };
    scoreFp: number;
    bucketCount: number;
    activeBucketThresholdFp: number;
};
export declare const satHashSpec: SatHashSpec;
export declare function decodeHash32(value: string): Buffer;
export declare function hashHex(parts: readonly Buffer[]): string;
export declare function deriveSatRoundSeed(epochId: number, microRoundId: number, roundOpenTs: number): string;
export declare function deriveSatBucketHash(roundSeed: string, epochId: number, microRoundId: number): string;
export declare function deriveSatAllocationHash(params: {
    epochId: number;
    microRoundId: number;
    bucketHash: string;
    allocationSum: number;
    allocationFp: readonly number[];
}): string;
export declare function deriveSatDifficultyHash(params: {
    epochId: number;
    microRoundId: number;
    allocationSum: number;
    allocationFp: readonly number[];
}): string;
export declare function deriveSatCoordinationHash(params: {
    epochId: number;
    microRoundId: number;
    coordinationGroupHash: string;
    coordinationMessageRoot: string;
    coordinationPeerCount: number;
    coordinationIntent: number;
}): string;
export declare function deriveSatTraceRoot(params: {
    epochId: number;
    microRoundId: number;
    allocationHash: string;
    difficultyHash: string;
    coordinationHash: string;
}): string;
export declare function deriveSatCommitHash(params: {
    epochId: number;
    microRoundId: number;
    bucketHash: string;
    allocationHash: string;
    difficultyHash: string;
    coordinationHash: string;
    traceRoot: string;
}): string;
export {};
