import type { AgentExecution } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/api_pb";
import { ConversationStore, type StreamState } from "./conversation-store.js";
import { WorkspaceFileSelectionStore, type SelectedWorkspaceFile } from "./workspace-file-selection-store.js";
import { WorkspaceEditorsStore, type WorkspaceEditorsSnapshot } from "./workspace-editors-store.js";
export { ConversationStore, type StreamState } from "./conversation-store.js";
export { structuralShare } from "./structural-share.js";
export { WorkflowExecutionEventStore, type WorkflowEventStreamState, type DerivedTaskState, type DerivedCostSummary, } from "./workflow-execution-event-store.js";
export { SelectionStore } from "./selection-store.js";
export type { SelectedThreadItem } from "./selection-store.js";
export { WorkspaceFileSelectionStore } from "./workspace-file-selection-store.js";
export type { SelectedWorkspaceFile } from "./workspace-file-selection-store.js";
export { WorkspaceEditorsStore, editorKey, virtualEntryId, isVirtualEntryId, } from "./workspace-editors-store.js";
export type { OpenEditor, OpenFileOptions, EditorReveal, WorkspaceEditorsSnapshot, } from "./workspace-editors-store.js";
/**
 * Internal context for the conversation store. Not exported from the
 * public SDK barrel — used only within SDK hooks and components.
 */
export declare const ConversationStoreContext: import("react").Context<ConversationStore | null>;
/**
 * Access the conversation store from context.
 * Throws if called outside a `ConversationStoreContext.Provider`.
 */
export declare function useConversationStore(): ConversationStore;
/**
 * Create or reuse a `ConversationStore` instance. The store is
 * created once and preserved across re-renders via ref.
 */
export declare function useConversationStoreRef(): ConversationStore;
/**
 * Subscribe to the execution snapshot from the conversation store.
 * Returns a stable reference when the execution is unchanged
 * (structural sharing ensures this).
 */
export declare function useStoreExecution(store: ConversationStore): AgentExecution | null;
/**
 * Subscribe to the stream lifecycle state from the conversation store.
 * Returns a stable reference when the state is unchanged.
 */
export declare function useStoreStreamState(store: ConversationStore): StreamState;
/**
 * Internal context carrying the {@link WorkspaceFileSelectionStore} instance
 * (stable ref) to both columns of the session viewer. Not exported from the
 * public SDK barrel — consumed only within SDK components and `SessionViewer`.
 */
export declare const WorkspaceFileSelectionContext: import("react").Context<WorkspaceFileSelectionStore | null>;
/**
 * Access the workspace-file selection store from context.
 * Throws if called outside a `WorkspaceFileSelectionContext.Provider`.
 */
export declare function useWorkspaceFileSelectionStore(): WorkspaceFileSelectionStore;
/**
 * Create or reuse a `WorkspaceFileSelectionStore` instance, preserved across
 * re-renders via ref. `SessionViewer` calls this and provides the result
 * through {@link WorkspaceFileSelectionContext} (DD-07).
 */
export declare function useWorkspaceFileSelectionStoreRef(): WorkspaceFileSelectionStore;
/** Subscribe to the currently-selected workspace file. */
export declare function useWorkspaceFileSelection(store: WorkspaceFileSelectionStore): SelectedWorkspaceFile | null;
/**
 * Create or reuse a `WorkspaceEditorsStore` instance, preserved across
 * re-renders via ref. Owned by `SessionViewer` alongside the selection store;
 * the surface subscribes to it for its tab group.
 */
export declare function useWorkspaceEditorsStoreRef(): WorkspaceEditorsStore;
/** Subscribe to the open-editor group snapshot. */
export declare function useWorkspaceEditors(store: WorkspaceEditorsStore): WorkspaceEditorsSnapshot;
//# sourceMappingURL=index.d.ts.map