/**
 * Form-wide registry of pending field commits.
 *
 * Text-like fields defer writing their draft into form state until blur (see
 * `useFieldValue`). A focused field therefore still holds uncommitted input
 * when something reads the form — e.g. a parent about to submit. The host
 * calls `flushAll()` to drain every pending draft into form state first.
 */
export type CommitBus = {
    /** Register a field's commit fn; returns a callback that unregisters it. */
    register: (commit: () => void) => () => void;
    /** Commit every registered field's pending draft. */
    flushAll: () => void;
};
/**
 * Provide a commit bus for the current form. Called once at the top-level
 * form host; nested list rows inherit it through `inject`, so a single bus
 * spans every field in the form regardless of nesting depth.
 */
export declare function provideCommitBus(): CommitBus;
/**
 * Inject the form's commit bus. Falls back to a no-op bus when a field is
 * mounted outside a `<Form>` host — a field is fully functional without one;
 * the bus only matters for host-driven flushing.
 */
export declare function useCommitBus(): CommitBus;
