import { ApiResourceVisibility } from "@stigmer/protos/ai/stigmer/commons/apiresource/enum_pb";
/** Props for {@link InstanceVisibilitySelector}. */
export interface InstanceVisibilitySelectorProps {
    /** Current visibility of the instance. */
    readonly visibility: ApiResourceVisibility;
    /**
     * Called when the user confirms a visibility change.
     * Escalating visibility (to org or public) shows an inline confirmation.
     */
    readonly onVisibilityChange: (v: ApiResourceVisibility) => void;
    /** Shows a spinner/disabled state while the RPC is in flight. */
    readonly isPending?: boolean;
    /** Disables all interaction (e.g., when the user lacks can_edit). */
    readonly disabled?: boolean;
    /** Additional CSS classes applied to the root element. */
    readonly className?: string;
}
/**
 * Three-state visibility selector for instances (AgentInstance,
 * WorkflowInstance).
 *
 * Unlike the binary {@link VisibilityToggle} used for blueprints,
 * instances support the full visibility spectrum: Private, Organization,
 * and Public. Escalating visibility (private -> org, or any -> public)
 * shows an inline confirmation prompt since expanding access is
 * consequential.
 *
 * For workflow instances, ORG visibility has cascading effects:
 * all org members automatically see all executions via FGA
 * inheritance (zero per-execution tuples needed).
 *
 * WAI-ARIA Radio Group with roving tabindex. All visual properties
 * flow through `--stgm-*` design tokens.
 *
 * @example
 * ```tsx
 * const { updateVisibility, isPending } = useUpdateVisibility(
 *   "workflowInstance",
 *   instance.metadata.id,
 * );
 *
 * <InstanceVisibilitySelector
 *   visibility={instance.metadata.visibility}
 *   onVisibilityChange={updateVisibility}
 *   isPending={isPending}
 * />
 * ```
 */
export declare function InstanceVisibilitySelector({ visibility, onVisibilityChange, isPending, disabled, className, }: InstanceVisibilitySelectorProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=InstanceVisibilitySelector.d.ts.map