/**
 * FieldAuditProvider — owns the in-session audit history.
 *
 * State lives in React state, so it dies with the component tree. Persistence
 * is intentionally out of scope for this release; consuming apps that need
 * durable audit logs can keep their own copy by subscribing to record_change
 * via the imperative API.
 */
import React from 'react';
import type { ReactNode } from 'react';
import type { FieldAuditContextValue } from './types.js';
declare const FieldAuditContext: React.Context<FieldAuditContextValue | undefined>;
/**
 * Hook for consumers that *must* run inside a provider. Throws otherwise.
 */
export declare function useFieldAudit(): FieldAuditContextValue;
/**
 * Hook for components that may render with or without an audit provider.
 * `FieldAuditIcon` and `FieldAuditPanel` use this so they can be dropped
 * into a slot whether or not audit is enabled — when no provider is mounted
 * they silently render nothing.
 */
export declare function useFieldAuditOptional(): FieldAuditContextValue | undefined;
export interface FieldAuditProviderProps {
    children: ReactNode;
}
export declare function FieldAuditProvider({ children }: FieldAuditProviderProps): import("react/jsx-runtime").JSX.Element;
export { FieldAuditContext };
//# sourceMappingURL=context.d.ts.map