import type { Browser } from "playwright";
import { type ClassifiedRun, type CoverageEvent, type KernelStores } from "../../../core/src/classify/classifier.js";
import type { CapabilityProfile } from "../../../core/src/sdk/capability.js";
import type { MatrixCell } from "../../../schema/src/records/context.js";
import type { CaptureOptions } from "../../../playwright/src/cell-runner.js";
import type { AuthAdapter } from "../../../playwright/src/auth.js";
import type { CoverageGap } from "../../../universal/src/oracle/witnesses.js";
import type { Detector } from "../../../core/src/sdk/detector.js";
import type { RedactionRule } from "../../../playwright/src/redaction.js";
import type { MeasuredLayoutCellEvidence, MeasuredLayoutMatrixEvidence, Ui001EvidenceRecord } from "./types.js";
export type MeasuredLayoutMatrixPlan = {
    cells: MatrixCell[];
    coverageGaps?: CoverageGap[];
};
export type RunMeasuredLayoutMatrixInput = {
    plan: MeasuredLayoutMatrixPlan;
    baseUrl: string;
    detectors: Detector<MeasuredLayoutMatrixEvidence, Ui001EvidenceRecord>[];
    stores: KernelStores;
    runId: string;
    seed: string;
    clockStart: string;
    browser: Browser;
    capture: CaptureOptions;
    timeouts: {
        navigateMs: number;
        settleMs: number;
    };
    capabilities: CapabilityProfile;
    adapters?: Record<string, AuthAdapter>;
    artifactRunDir?: string;
    redactionRules?: RedactionRule[];
    onCellEvidence?: (evidence: MeasuredLayoutCellEvidence) => void;
};
export declare function coverageEventsFromMeasuredLayoutGaps(gaps: CoverageGap[], detectors: Detector<MeasuredLayoutMatrixEvidence, Ui001EvidenceRecord>[]): CoverageEvent[];
export declare function resolveMeasuredLayoutOutcomeCell(cells: readonly MeasuredLayoutCellEvidence[], surfaceId: string | undefined): MeasuredLayoutCellEvidence;
export declare function buildMeasuredLayoutMatrixEvidence(matrixId: string, cells: MeasuredLayoutCellEvidence[]): MeasuredLayoutMatrixEvidence;
export declare function runMeasuredLayoutMatrix(input: RunMeasuredLayoutMatrixInput): Promise<ClassifiedRun>;
export { runMeasuredLayoutCell } from "./capture.js";
//# sourceMappingURL=matrix.d.ts.map