import { ApiResourceVisibility } from "@stigmer/protos/ai/stigmer/commons/apiresource/enum_pb";
/** Props for {@link VisibilityToggle}. */
export interface VisibilityToggleProps {
    /** Current visibility of the resource. */
    readonly visibility: ApiResourceVisibility;
    /**
     * Called when the user confirms a visibility change.
     * The toggle shows an inline confirmation before invoking this
     * callback when switching to PUBLIC.
     */
    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;
}
/**
 * Segmented control for toggling resource visibility between
 * Private and Public.
 *
 * Switching to PUBLIC shows a brief inline confirmation prompt
 * since making a resource publicly visible is a consequential
 * action. Switching to PRIVATE applies immediately without
 * confirmation (revoking access is always safe).
 *
 * Follows the same visual pattern as {@link ScopeToggle} —
 * WAI-ARIA Radio Group with roving tabindex. All visual
 * properties flow through `--stgm-*` design tokens.
 *
 * @example
 * ```tsx
 * <VisibilityToggle
 *   visibility={skill.metadata.visibility}
 *   onVisibilityChange={handleVisibilityChange}
 *   isPending={isPending}
 * />
 * ```
 */
export declare function VisibilityToggle({ visibility, onVisibilityChange, isPending, disabled, className, }: VisibilityToggleProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=VisibilityToggle.d.ts.map