/**
 * Locate the type passed to `<PieCard stored={X} />` in JSX.
 *
 * Policy decision (per Policy C in the spec discussion): the TS side
 * recognises an Input variant ONLY through the `stored` prop. No
 * naming-convention fallback. If the card uses a hidden `<input>` element
 * instead of `stored`, that's intentional and the metadata reports no
 * input shape.
 */
import type { SchemaContext } from './schemaContext';
/**
 * Walk JSX `<PieCard stored={X}/>` attributes and recover the type of `X`.
 *
 * ASSUMES:
 *   - `ctx` was built with files that include `<PieCard>` JSX usage.
 *   - `files` is the list of files to scan (typically the component's
 *     own source files).
 *
 * RETURNS:
 *   - `{ typeName, declaration }` of the type alias / interface that
 *     types the `stored` expression, on first hit.
 *   - `null` if no `<PieCard stored=…>` is found in any file, or if the
 *     stored expression has no resolvable named type.
 *
 * ALGORITHM:
 *   1. For each JSX `<PieCard>` element, look at attribute `stored`.
 *   2. If its initializer is `{expr}`, ask the checker for `expr`'s
 *      type, then for that type's alias symbol or value symbol.
 *   3. Take the first declaration that's an Interface/TypeAlias.
 *
 * EDGE CASES:
 *   - `<PieCard stored={anonymousObject}/>` where the inline object has
 *     no named type → returns `null`. Use a named interface or
 *     `as InputXxx` for the metadata to pick it up.
 *   - PieCard imported as a different name (`import { PieCard as Foo }`)
 *     → not detected. The tag-name check is strict on `"PieCard"`.
 */
export declare const findStoredAttributeType: (ctx: SchemaContext, files: string[]) => {
    typeName: string;
    declaration: any;
} | null;
//# sourceMappingURL=findInputType.d.ts.map