import type { ApiResourceKind } from "@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb";
import type { IamRole } from "@stigmer/protos/ai/stigmer/iam/v1/enum_pb";
/** Props for {@link RoleSelector}. */
export interface RoleSelectorProps {
    /** The resource kind whose grantable roles to display. */
    readonly kind: ApiResourceKind | null;
    /** Fired when the user selects a role. */
    readonly onSelect?: (role: IamRole) => void;
    /** Externally controlled selected role — makes this a controlled component. */
    readonly selected?: IamRole | null;
    /** Initial role to select (uncontrolled mode). */
    readonly defaultRole?: IamRole;
    /** Disable all role options. */
    readonly disabled?: boolean;
    /** Additional CSS class names for the root container. */
    readonly className?: string;
}
/**
 * Styled radio-group for selecting an IAM role.
 *
 * Displays all grantable roles for the given resource kind as
 * selectable pills, each showing the role name and description.
 *
 * For a headless alternative, use {@link useRoleSelector} directly.
 *
 * All visual properties flow through `--stgm-*` design tokens.
 *
 * @example
 * ```tsx
 * <RoleSelector
 *   kind={ApiResourceKind.organization}
 *   onSelect={(role) => setRole(role)}
 * />
 * ```
 */
export declare function RoleSelector({ kind, onSelect, selected: controlledSelected, defaultRole, disabled, className, }: RoleSelectorProps): import("react/jsx-runtime").JSX.Element | null;
//# sourceMappingURL=RoleSelector.d.ts.map