import { type ReactNode } from "react";
/**
 * Which general-access option is currently selected.
 *
 * @internal
 */
export type GeneralAccessValue = "RESTRICTED" | "WORKSPACE";
/**
 * @internal
 */
export interface IUiGeneralAccessRadioProps {
    /** Selected option. */
    value: GeneralAccessValue;
    /** Fired when the user picks a different option. */
    onChange: (value: GeneralAccessValue) => void;
    /** Disables both rows — e.g. while the access list is still loading. */
    disabled?: boolean;
    /**
     * When true, workspace-wide access is inherited from a parent workspace and
     * cannot be revoked here: the `Restricted` row is disabled and its
     * description explains why.
     */
    workspaceAccessInherited?: boolean;
    /**
     * Optional slot rendered to the right of the `All workspace members`
     * row — typically the `UiGranteeRowControls` pair that lets the
     * author pick labels and the workspace-wide permission level.
     */
    workspaceControls?: ReactNode;
    /**
     * Workspace-wide permission level, used to keep the `All workspace members`
     * description in sync with the level picked in `workspaceControls`
     * (`view` → "can view", `share` → "can view and share"). Defaults to `view`.
     */
    workspaceLevel?: "VIEW" | "SHARE";
    /** Test id forwarded to the root element. */
    dataTestId?: string;
}
/**
 * Two-row radio used by the OLP share dialog to choose between restricting
 * access to the listed grantees and granting access to every workspace
 * member. Composes `UiRadioRow` for each option.
 *
 * @internal
 */
export declare function UiGeneralAccessRadio({ value, onChange, disabled, workspaceAccessInherited, workspaceControls, workspaceLevel, dataTestId }: IUiGeneralAccessRadioProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=UiGeneralAccessRadio.d.ts.map