/**
 * Scans a component source string for `record.<field>` and
 * `record["<field>"]` references and returns the set of bound field names.
 *
 * Uses the React runtime's already-loaded `@babel/standalone` global if
 * available (it's loaded by the Studio preview pane and most pages that
 * mount an interactive component). Falls back to a regex scan when Babel
 * isn't present — slightly less accurate (misses destructured access and
 * `record[someVar]`) but doesn't block the inspector from rendering.
 *
 * Performance: a typical form component is 200-500 LOC; parsing it takes
 * a few ms. Inspector callers should still debounce on keystroke.
 */
export interface FieldBindingScanResult {
    /** Field names referenced via `record.X` or `record["X"]` patterns. */
    boundFields: Set<string>;
    /** True iff AST parsing succeeded. Regex fallback sets this to false. */
    usedAst: boolean;
    /** Parse error message if AST parsing failed. Useful in dev. */
    parseError?: string;
}
/**
 * Scan code for record-field bindings.
 *
 * @param code The full source of a form-role component.
 * @returns The set of field names referenced. Empty set if `code` is falsy.
 */
export declare function scanFieldBindings(code: string | null | undefined): FieldBindingScanResult;
//# sourceMappingURL=field-binding-scanner.d.ts.map