import type { PiwiDashboardOptions } from '../../public/options.js';
/**
 * Single source of truth for the `PIWI_*` env-var → option mapping. Both
 * `resolveOptions` (env → option) and `applyOptionsToEnv` (option → env, used
 * by `wrapConfig` to bridge into the global-setup process) read these names so
 * the mapping lives in exactly one place.
 */
export declare const PIWI_ENV_KEYS: {
    readonly serverUrl: "PIWI_DASHBOARD_URL";
    readonly projectName: "PIWI_PROJECT_NAME";
    readonly verbose: "PIWI_VERBOSE";
    readonly apiKey: "PIWI_API_KEY";
    readonly username: "PIWI_USERNAME";
    readonly password: "PIWI_PASSWORD";
    readonly environment: "PIWI_ENVIRONMENT";
    readonly label: "PIWI_LABEL";
    readonly runLabel: "PIWI_RUN_LABEL";
    readonly streaming: "PIWI_STREAMING";
    readonly streamingBatchSize: "PIWI_STREAMING_BATCH_SIZE";
    readonly streamingBatchDelay: "PIWI_STREAMING_BATCH_DELAY";
    readonly liveFileUploads: "PIWI_LIVE_FILE_UPLOADS";
    readonly uploadTraces: "PIWI_UPLOAD_TRACES";
    readonly uploadReport: "PIWI_UPLOAD_REPORT";
    readonly captureLocators: "PIWI_CAPTURE_LOCATORS";
    readonly capturePageState: "PIWI_CAPTURE_PAGE_STATE";
};
/**
 * Merge raw user options with defaults, reading from `PIWI_*` env vars when
 * options are not provided.
 *
 * Env semantics: env vars fill in values the caller didn't provide (fallback).
 * They're applied to `raw` *before* the `DEFAULTS` merge so a built-in default
 * never masks an env var (`PIWI_PROJECT_NAME` would otherwise be masked by the
 * `default-project` default).
 *
 * One preserved quirk: `PIWI_VERBOSE` wins over both the default *and* an
 * explicit user option.
 */
export declare function resolveOptions(raw: Record<string, any>): PiwiDashboardOptions;
/**
 * Write the options that the isolated `global-setup-module` process needs into
 * `PIWI_*` env vars. `wrapConfig` calls this so the global setup (which runs
 * `resolveOptions({})` in a separate module) picks up the same server/auth
 * config the reporter instance uses. Only writes values that are actually set.
 */
export declare function applyOptionsToEnv(options: PiwiDashboardOptions): void;
