/** * The capture matrix: which form factors, schemes and platforms one run walks. * * Pure, so the defaults are testable without a browser, and in one place, so * a verb cannot quietly default to fewer form factors than a sweep does. The * walk order is the order of the constants, whatever order a flag listed, and * a value outside the set is answered with the set rather than ignored. */ import { type FormFactor, type PlatformKind, type Scheme } from "../types.js"; import type { ProjectKind } from "../project-kind.js"; /** The form factors a run walks: every one by default, `--viewports` narrows. */ export declare function resolveFormFactors(flag: string | boolean | undefined): FormFactor[]; /** * The schemes a run walks: the flag decides, else the schemes the project says * it ships, else both. * * Both is the fallback rather than the truth. A project that never declared * cannot be assumed to have one scheme, so lookout photographs the pair and * lets the byte-identical check speak; a project that declared one is taken at * its word and photographed once, which is also half the shots. */ export declare function resolveSchemes(flag: string | boolean | undefined, declared?: readonly Scheme[]): Scheme[]; /** * The platforms a run walks: the project's fold by default, `--platforms` * decides outright for one run. */ export declare function resolvePlatforms(flag: string | boolean | undefined, kind: ProjectKind): PlatformKind[]; /** What a run photographs when nobody said: the web fold, the device fold, or both. */ export declare function defaultPlatforms(kind: ProjectKind): PlatformKind[];