import type { ApiResourceRefView } from "@stigmer/protos/ai/stigmer/iam/iampolicy/v1/io_pb";
/**
 * The human-readable identity-source label for a principal, or `""` when none
 * is known.
 *
 * Email is not an identity key in Stigmer — a person can have a direct account
 * and federated accounts that share one email. This label (e.g. "Stigmer" for
 * direct sign-ups, or an IdentityProvider's display name for federated ones)
 * is what lets the UI tell those accounts apart.
 */
export declare function providerLabel(principal: ApiResourceRefView | undefined): string;
/** Props for {@link ProviderBadge}. */
export interface ProviderBadgeProps {
    /** The principal whose identity source to display. */
    readonly principal: ApiResourceRefView | undefined;
    /** Additional CSS class names. */
    readonly className?: string;
}
/**
 * A subtle pill naming the identity source an account belongs to.
 *
 * Renders nothing when no provider label is available (e.g. legacy accounts
 * with unspecified provisioning mode), so it never adds empty chrome.
 *
 * All visual properties flow through `--stgm-*` design tokens.
 */
export declare function ProviderBadge({ principal, className }: ProviderBadgeProps): import("react/jsx-runtime").JSX.Element | null;
//# sourceMappingURL=ProviderBadge.d.ts.map