import type { McpServerUsageInput, ResourceRef } from "@stigmer/sdk";
import type { HarnessOption } from "../../models/harness.js";
import type { ExecutionTargetOption } from "../execution-target.js";
import type { UseSessionVariablesReturn } from "../../execution/useSessionVariables.js";
/** Interactive mutation callbacks for config items in SetupTab. */
export interface SetupTabMutationCallbacks {
    /** Remove the current agent. Absent = non-removable (e.g. default agent). */
    readonly onRemoveAgent?: () => void;
    /** Remove an MCP server by its org/slug ref. */
    readonly onRemoveMcp?: (ref: ResourceRef) => void;
    /** Remove a skill by its org/slug ref. */
    readonly onRemoveSkill?: (ref: ResourceRef) => void;
}
/** Props for {@link SetupTab}. */
export interface SetupTabProps {
    readonly agentRef: ResourceRef | null;
    readonly isDefaultAgent: boolean;
    readonly mcpServerUsages: readonly McpServerUsageInput[];
    readonly skillRefs: readonly ResourceRef[];
    readonly sessionVariables: UseSessionVariablesReturn | null;
    readonly harness: HarnessOption;
    readonly executionTarget: ExecutionTargetOption | undefined;
    readonly modelId: string | undefined;
    /**
     * Interactive mutation callbacks. When provided, items render remove
     * buttons. When absent, sections are read-only (DD-011).
     */
    readonly mutations?: SetupTabMutationCallbacks;
    /**
     * Host-injected access management control (e.g. the Console's
     * `ManageAccessButton`) rendered as the facet's final section. A slot keeps
     * the SDK auth-agnostic (DD-004); the injected control owns its own
     * visibility (permission gating), so this section renders no chrome of its
     * own — an empty heading over a denied control would read as breakage.
     */
    readonly accessSlot?: React.ReactNode;
}
/**
 * Persistent session configuration panel (Configure tab) — shows agent,
 * MCP servers, skills, run config, session variables, and the host's
 * access management control (via `accessSlot`).
 *
 * Workspace management has moved to the dedicated Workspace tab.
 *
 * When mutation callbacks are provided via `mutations`, items render
 * inline remove/reconfigure affordances. When callbacks are absent,
 * sections render read-only (backward compatible, DD-011).
 *
 * All visual properties flow through `--stgm-*` tokens (DD-005).
 */
export declare function SetupTab({ agentRef, isDefaultAgent, mcpServerUsages, skillRefs, sessionVariables, harness, executionTarget, modelId, mutations, accessSlot, }: SetupTabProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=SetupTab.d.ts.map