/**
 * Shared hook that wraps ViewCallbacks into stable useCallback references.
 *
 * EditView creates ~12 useCallback wrappers that simply forward calls
 * to the `callbacks` object from context. This hook consolidates them.
 */
import type { ViewCallbacks, FormFileAttachment } from '../types.js';
import type { FieldMetadataChange as FormSetMetadataChange } from '../../_internal_form_set.js';
import type { FieldAuditConfig } from '../../../types/field_action.js';
interface UseViewCallbacksOptions {
    callbacks: ViewCallbacks;
    field_audit?: FieldAuditConfig;
    form_id?: string;
}
/**
 * Creates stable callback wrappers around ViewCallbacks from context.
 * Each callback is memoized with [callbacks] as the only dependency.
 */
export declare function use_view_callbacks({ callbacks, field_audit, form_id }: UseViewCallbacksOptions): {
    handle_field_change: (field_id: string, value: unknown) => void;
    handle_form_data_change: (data: Record<string, unknown>) => void;
    handle_metadata_change: (change: FormSetMetadataChange) => void;
    handle_data_ok_change: (field_id: string, value: boolean | "ok" | "not_ok" | "pending") => void;
    handle_notes_change: (field_id: string, notes: Array<{
        userid: string;
        note_text: string;
        user_name: string;
        user_email: string;
        created_at: string;
    }>) => void;
    handle_visibility_change: (field_id: string, visibility: "visible" | "hidden") => void;
    handle_lock_change: (field_id: string, locked: boolean) => void;
    handle_delete: (field_id: string) => void;
    handle_skip_change: (field_id: string, skipped: boolean) => void;
    handle_add_field_config: (after_field_id: string, field_config: unknown) => void;
    handle_add_group_config: (position_id: string, group_config: unknown) => void;
    handle_edit_field_config: (field_id: string, current_config: unknown) => void;
    handle_delete_field: (field_id: string) => void;
    handle_files_change: (field_id: string, files: FormFileAttachment[]) => void;
    handle_private_files_change: (field_id: string, files: FormFileAttachment[]) => void;
    handle_revalidate: (field_id: string, validation_rule_ids: string[]) => void;
};
export {};
//# sourceMappingURL=use_view_callbacks.d.ts.map