/**
 * Imported-model type emission — V2 Phase 3, Round 2.
 *
 * When a consumer `import:`s a registry **component library** that exports
 * MODELS (value objects / entities — e.g. `Money`, `Address`), the library
 * emitter needs to turn the fetched `.specly` into real, usable TypeScript
 * types in the consumer's output tree — not a client that throws.
 *
 * This module parses the fetched spec content (the raw `.specly` string the
 * resolver returns for `source: 'registry-component'`) and emits a
 * `export interface <Model> { ... }` per selected model, derived from the
 * model's attributes. The type mapping mirrors the canonical one used by the
 * ReactAppStarter api-types generator (`api-types-starter-generator.ts`).
 *
 * Operation imports (dotted `Service.op` selects) and bare selects that do
 * NOT resolve to a model are returned in `remaining` so the caller can keep
 * the existing (client-throw) behaviour for them — those are the
 * service/operation story, not the model-library story.
 */
export interface ImportedModelTypes {
    /** One `export interface X { ... }` block per emitted model. */
    interfaces: string[];
    /** Names of the selected entries that were emitted as model interfaces. */
    emitted: string[];
    /** Selected entries that were NOT models (dotted ops, or unknown names). */
    remaining: string[];
}
/**
 * Parse fetched registry spec content + emit TS interfaces for the selected
 * model names. Bare selects matching a model → interface; everything else
 * (dotted ops, unknown names) → `remaining`.
 */
export declare function extractImportedModelInterfaces(specContent: string, selectedNames: string[]): ImportedModelTypes;
//# sourceMappingURL=imported-model-types.d.ts.map