/**
 * Degraded FormStore state - returned when CRUD package not installed
 * Matches FormStoreState & FormStoreActions interface
 */
declare const DEGRADED_FORM_STORE_STATE: {
    readonly forms: {};
    readonly startSubmit: () => void;
    readonly setUploading: () => void;
    readonly setValidating: () => void;
    readonly setSubmitting: () => void;
    readonly setSuccess: () => void;
    readonly setError: () => void;
    readonly reset: () => void;
    readonly cleanup: () => void;
    readonly setIsDirty: (_formId: string, _isDirty: boolean) => void;
    readonly hasDirtyForms: () => boolean;
    readonly getDirtyFormIds: () => string[];
    readonly getStatus: () => "idle";
    readonly isLoading: () => boolean;
    readonly getUploadProgress: () => number;
    readonly getError: () => null;
    readonly getIsDirty: () => boolean;
};
/** Minimal shape shared between the real FormStore state and the degraded fallback */
type FormStoreLike = typeof DEGRADED_FORM_STORE_STATE;
/**
 * Check if FormStore is available
 */
export declare const isFormStoreAvailable: boolean;
/**
 * Safe access to FormStore.
 * Returns degraded state selector result if CRUD package not installed.
 *
 * @param selector - Zustand selector function
 * @returns Selected state, or degraded state selection if CRUD not available
 *
 * @example
 * ```tsx
 * const hasDirtyForms = useFormStoreSafe((state) => state.hasDirtyForms());
 * // Always safe to call - returns false when degraded
 * ```
 */
export declare function useFormStoreSafe<T>(selector: (state: FormStoreLike) => T): T;
export declare namespace useFormStoreSafe {
    var getState: () => typeof DEGRADED_FORM_STORE_STATE;
}
export {};
//# sourceMappingURL=useFormStoreSafe.d.ts.map