/**
 * `pieui card dump-metadata <Name>` — emit PieMetadata JSON.
 *
 * This module is the orchestration layer. All introspection algorithms
 * live in `code/introspection/` — see that package's JSDoc for inputs,
 * outputs, and algorithmic assumptions of each piece.
 */
import type { PieMetadata } from '../types';
/**
 * Build the PieMetadata object for a component.
 *
 * INPUTS:
 *   - `componentName`: the PascalCase card name. Must correspond to a
 *     directory `<settings.componentsDir>/<componentName>/`.
 *
 * RETURNS: full PieMetadata object (see `types.ts`).
 *
 * ASSUMPTIONS:
 *   - The component's data type follows naming convention
 *     `<Name>Data` / `I<Name>Data` / `<Name>Props` (see findDataType).
 *   - `<PieCard>` JSX usage is the source of truth for events; methods
 *     must be an inline object literal (see extractEvents).
 *   - Input variant is detected ONLY via `<PieCard stored={X}/>`
 *     (see findInputType — policy decision in spec discussion).
 *
 * PIPELINE:
 *   1. Glob component files (collectComponentFiles).
 *   2. Build TS program/checker context (createSchemaContext).
 *   3. Find props data type via naming convention.
 *   4. Extract events strictly from `<PieCard methods={…}>`.
 *   5. Recover each event handler's payload type.
 *   6. Find input type via `<PieCard stored={X}/>`.
 *   7. Split imports into packages / relativeImports.
 */
export declare const buildCardMetadata: (componentName: string) => PieMetadata;
export declare const stringifyPieMetadata: (meta: PieMetadata) => string;
/**
 * Top-level wrap envelope. Each CLI side wraps its metadata under
 * `typescript` / `python` so a consumer can combine both ecosystems
 * into one document for cross-side comparison.
 */
export declare const DUMP_METADATA_ENVELOPE_KEY: "typescript";
/** CLI entry point. Builds metadata, writes to `outFile` or stdout. */
export declare const cardDumpMetadataCommand: (componentName: string, outFile: string | undefined) => void;
//# sourceMappingURL=cardDumpMetadata.d.ts.map