import { type ReactElement } from "react";
/**
 * Selectable permission level. The menu and the add-grantee picker only ever
 * assign VIEW or SHARE — EDIT is shown as a read-only row (via the model's
 * `AccessGranularPermission`) and is never selectable from the UI.
 *
 * @internal
 */
export type PermissionMenuLevel = "VIEW" | "SHARE";
/**
 * @internal
 */
export interface IUiPermissionMenuProps {
    /** Element that opens the menu on click. */
    anchor: ReactElement<any>;
    /** Currently selected permission level — drives `aria-checked`. */
    selectedLevel?: PermissionMenuLevel;
    /** Fires when the user picks a permission level. */
    onPermissionChange: (level: PermissionMenuLevel) => void;
    /** Fires when the user picks Remove access. */
    onRemoveAccess?: () => void;
    /** Test id forwarded to the menu body. */
    dataTestId?: string;
}
/**
 * Per-grantee permission popover. Renders a fixed set of rows — two
 * permission levels (Can view & share / Can view), an optional divider,
 * and an optional Remove access action row. Each level row carries an
 * `infoCircle` tooltip. Labels and Transfer ownership live in the separate
 * {@link UiMoreOptionsMenu}.
 *
 * @internal
 */
export declare function UiPermissionMenu({ anchor, selectedLevel, onPermissionChange, onRemoveAccess, dataTestId }: IUiPermissionMenuProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=UiPermissionMenu.d.ts.map