/**
 * Strict extraction of event names from `<PieCard methods={…}>` JSX.
 *
 * The contract is intentionally STRICT (asymmetric to the lenient
 * Python side): `methods={…}` MUST be an inline object literal with
 * static keys. Spread, variable references, computed keys → throws.
 *
 * Rationale: TS authors who pass `methods={pieMethods}` (a hook return)
 * have no way for static analysis to know the event surface. We force
 * the call site to spell out the keys so the registry is observable.
 *
 * Use case: produces the `events` field of PieMetadata.
 */
/**
 * Extract the union of event names declared via `<PieCard methods={…}>`
 * across the given files.
 *
 * ASSUMES: `files` are absolute paths to `.ts`/`.tsx` source files.
 *
 * RETURNS: sorted array of unique event names (object-literal keys).
 *
 * THROWS: IntrospectionError with file:line if `methods={…}` is anything other than
 * a plain inline object literal with static keys. Specifically:
 *   - `methods={spread}` (Identifier initializer) — throws.
 *   - `methods={{ ...other }}` (spread element) — throws.
 *   - `methods={{ [key]: handler }}` (computed key) — throws.
 *   - `methods={{ click: fn }}` (PropertyAssignment) — OK.
 *   - `methods={{ click }}` (Shorthand) — OK, key is `"click"`.
 *
 * Strings ARE accepted as keys (`methods={{ "click-x": fn }}`).
 */
export declare const extractEvents: (files: string[]) => string[];
//# sourceMappingURL=extractEvents.d.ts.map