import type { WorkflowGraphModel } from "../workflow-graph-model";
import type { CanvasSelection } from "../useWorkflowCanvas";
import type { TaskKindDescriptor } from "../types";
import type { InspectorMutations } from "./types";
/** Props for {@link InspectorShell}. */
export interface InspectorShellProps {
    /** Currently selected element on the canvas. */
    readonly selection: CanvasSelection | null;
    /** The current graph model for node/edge lookups. */
    readonly graph: WorkflowGraphModel | null;
    /** Descriptor for the selected node's task kind. */
    readonly descriptor: TaskKindDescriptor | undefined;
    /** Mutation callbacks for design-mode editing. */
    readonly mutations: InspectorMutations;
    /** Validation errors keyed by node ID. */
    readonly validationErrors?: ReadonlyMap<string, readonly string[]>;
    /** Content to render when nothing is selected. */
    readonly emptyState?: React.ReactNode;
    /** Called to open the View YAML dialog for a node. */
    readonly onViewYaml?: (nodeId: string) => void;
    /** Additional CSS class names. */
    readonly className?: string;
}
/**
 * Shared inspector shell that renders a consistent header, tab bar, and
 * scrollable content area. Routes to the appropriate sub-inspector based
 * on the current selection.
 *
 * In design mode, renders tabbed configuration forms. Sentinel and edge
 * selections render dedicated lightweight inspectors.
 *
 * @since T10 (Inspector Panel Refactor)
 */
export declare const InspectorShell: import("react").NamedExoticComponent<InspectorShellProps>;
//# sourceMappingURL=InspectorShell.d.ts.map