import { type ReactNode } from "react";
import { type GranteeAvatarKind } from "../UiGranteeAvatar/UiGranteeAvatar.js";
/**
 * @internal
 */
export interface IUiGranteeRowProps {
    /** Visual kind — drives the avatar silhouette. */
    kind: GranteeAvatarKind;
    /** Display name shown on the first line. */
    name: string;
    /** Optional email subline shown below the name. */
    email?: string;
    /** When true, an "Owner" tag is rendered between the text block and the controls slot. */
    isOwner?: boolean;
    /** When true, the row is visually muted to signal an in-flight save. */
    isPending?: boolean;
    /** Trailing controls slot — typically the `UiGranteeRowControls` trigger pair. */
    controls?: ReactNode;
    /** Test id forwarded to the root element. */
    dataTestId?: string;
}
/**
 * Grantee row used by the OLP share dialog. Renders avatar + name + optional
 * email subline + optional "Owner" tag + trailing controls slot.
 *
 * @internal
 */
export declare function UiGranteeRow({ kind, name, email, isOwner, isPending, controls, dataTestId }: IUiGranteeRowProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=UiGranteeRow.d.ts.map