/**
 * prepareSchemaForPreview
 *
 * Single source of truth for the "give an Orbital schema a runnable preview"
 * pipeline. Used by both:
 *   * `<OrbPreview autoMock />` (the docs / MDX path)
 *   * `PlaygroundContent` (the interactive playground)
 *
 * Type signature in `@almadar/core` terms:
 *
 *   buildMockData          : OrbitalSchema → EntityData
 *   adjustSchemaForMockData: (OrbitalSchema, EntityData) → OrbitalSchema
 *   prepareSchemaForPreview: OrbitalSchema → { schema: OrbitalSchema, mockData: EntityData }
 *
 * Steps:
 *   1. `buildMockData` — for each orbital, generate (or pick up from
 *     `entity.instances`) `EntityRow[]` for that entity.
 *   2. `adjustSchemaForMockData` — flip two-state INIT machines so the data
 *      state is initial (e.g. `empty -> hasItems` becomes `hasItems` initial).
 *
 * @packageDocumentation
 */
import type { OrbitalSchema, EntityData } from '@almadar/core';
/**
 * Build mock entity rows (`EntityData`) for every orbital in the schema.
 *
 * For each orbital's entity:
 *   * If the entity has an `instances` array (from the schema author),
 *     use it as-is.
 *   * Otherwise generate 10 synthetic `EntityRow`s from the field
 *     definitions via `generateEntityRow`.
 *
 * @public
 */
export declare function buildMockData(schema: OrbitalSchema): EntityData;
/**
 * When mock data exists for a trait's linked entity, swap the state
 * machine's initial state to the state that also handles INIT (the "data
 * state"). This makes previews land directly in the populated UI.
 *
 * Behavior is per-trait:
 *   * Inline traits with two-state INIT patterns are rewritten.
 *   * String / object trait refs are left untouched (the resolver handles them).
 *   * Single-state INIT machines are left untouched.
 *
 * @public
 */
export declare function adjustSchemaForMockData(schema: OrbitalSchema, mockData: EntityData): OrbitalSchema;
/**
 * Result of `prepareSchemaForPreview`.
 *
 * @public
 */
export interface PreparedPreviewSchema {
    /** Schema with state machines flipped so data states are initial. */
    schema: OrbitalSchema;
    /** Mock entity rows keyed by entity name — pass to `OrbPreview.mockData`. */
    mockData: EntityData;
}
/**
 * Run the full preview prep pipeline on a schema.
 *
 * Accepts either an already-parsed `OrbitalSchema` or a JSON string.
 * Returns `{ schema, mockData }` ready to feed `<OrbPreview>`.
 *
 * Functional signature:
 *   `OrbitalSchema | string → { schema: OrbitalSchema, mockData: EntityData }`
 *
 * @public
 */
export declare function prepareSchemaForPreview(input: OrbitalSchema | string): PreparedPreviewSchema;
