import { type KeyObject } from "node:crypto"; export interface SubgroupResult { group: string; nA: number; nB: number; effect: number; lowerBound: number; upperBound: number; status: "IMPROVED" | "HARMED" | "UNCERTAIN"; } export interface SubgroupCertificate { standard: "melete-subgroup-certificate/v1"; verdict: "UNIFORM-IMPROVEMENT" | "HARMED-SUBGROUP" | "MIXED"; groups: number; alpha: number; overallEffect: number; overallLowerBound: number; overallSignificant: boolean; overallMisleading: boolean; worstGroup: string; worstEffect: number; subgroups: Array; payloadHash: string; signature: string; publicKeyPem: string; algo: "ed25519+sha256"; } export declare function subgroupCertificate(opts: { contributions: Array<{ group: string; samplesA: number[]; samplesB: number[]; }>; alpha?: number; keys?: { publicKey: KeyObject; privateKey: KeyObject; }; }): SubgroupCertificate; export declare function verifySubgroupCertificate(c: SubgroupCertificate): { ok: boolean; reason: string; }; export declare function subgroupGauntlet(): { score: 0 | 100; checks: Array<{ name: string; pass: boolean; detail: string; }>; }; //# sourceMappingURL=subgroup.d.ts.map