import { FieldProps } from '@rjsf/utils'; type Path = (string | number)[]; export type TextChangeScope = { parent?: TextChangeScope; path: Path; name: string; live: boolean; widgets: Set; children: Set; }; export type TextChangeCalls = { current?: TextChangeScope; }; export declare const TextChangeContext: import('react').Context<{ scope: TextChangeScope; onChange: FieldProps["onChange"]; } | undefined>; /** Public paths and callbacks, not DOM ids or answer equality, identify same-field delegation. */ export declare function useTextChangeScope(props: FieldProps, item?: boolean): TextChangeScope; /** Presence belongs to this committed field scope, never a form-wide widget-id set. */ export declare function useTextChangeRegistration(name: string, emptyValue: unknown): void; /** The actual originating leaf must match the complete public path to this boundary. */ export declare function textChangeTargets(origin: TextChangeScope | undefined, boundary: TextChangeScope, path: Path): boolean; /** Preserve origin only during matching synchronous public callback forwarding. */ export declare function useTextChangeCallback(onChange: FieldProps['onChange'], scope: TextChangeScope, calls: TextChangeCalls): (newValue: any, path: import('@rjsf/utils').FieldPathList, es?: import('@rjsf/utils').ErrorSchema | undefined, id?: string) => void; export {};