import { V1PageConfig, V2PageConfig } from './v1ToV2';
/**
 * Detect the schema version of a page config and normalise it to the
 * v2 shape. ShowPage / IndexPage call this at the boundary so a
 * consumer can pass either shape transparently.
 *
 * Detection heuristics (any one of these indicates v1):
 *   - `cards` is an Array (v2 uses a Record<string, Card>).
 *   - any tab's `cards[]` contains an object with a `type` string
 *     instead of `cardType`.
 *   - top-level `headers` / `options` exist without `cards` / `elements`
 *     (the IndexPage shorthand).
 *
 * When `schemaVersion` is explicitly set on the config, the heuristic
 * is bypassed — useful for force-routing legacy or new shapes.
 */
export declare function normalisePageConfig(config: V1PageConfig | V2PageConfig | (V1PageConfig & {
    schemaVersion?: "v1" | "v2";
})): V2PageConfig;
//# sourceMappingURL=detect.d.ts.map