import { Core } from '@backlog-md/core'; import type { KanbanPanelContext, KanbanPanelActions } from '../types'; import type { PanelContextValue } from '@principal-ade/panel-framework-core'; import { type Span } from '../telemetry'; export interface UseBacklogCoreResult { /** The shared Core instance (null if not initialized) */ core: Core | null; /** Whether the Core is currently initializing */ isInitializing: boolean; /** Whether this is a valid Backlog.md project */ isBacklogProject: boolean; /** Any error that occurred during initialization */ error: string | null; /** Whether write operations are available */ canWrite: boolean; /** Force re-initialization */ reinitialize: () => Promise; /** File paths available in the project */ filePaths: string[]; } interface UseBacklogCoreOptions { context?: PanelContextValue; actions?: KanbanPanelActions; /** Parent span for context propagation (e.g., board.session) */ parentSpan?: Span; } /** * Hook for creating and managing a shared Core instance. * * This hook handles: * - Creating the PanelFileSystemAdapter * - Creating and initializing the Core instance * - Tracking initialization state and errors * * Use this with useKanbanData and useMilestoneData to share a single Core: * * ```tsx * const { core, isInitializing, ... } = useBacklogCore({ context, actions }); * const kanbanData = useKanbanData({ context, actions, core }); * const milestoneData = useMilestoneData({ context, actions, core }); * ``` */ export declare function useBacklogCore(options?: UseBacklogCoreOptions): UseBacklogCoreResult; export {}; //# sourceMappingURL=useBacklogCore.d.ts.map