import type { CSSProperties } from 'react';
import type { string_css_class } from '../types/string_markdown';
import type { string_url_image } from '../types/string_url_image';
import type { AvatarDefinition } from './types/AvatarDefinition';
import type { AvatarSurfaceStyle, AvatarVisualId } from './types/AvatarVisualDefinition';
/**
 * Shared avatar-rendering props for places that may receive either an image URL or a deterministic avatar visual.
 *
 * @private shared component for avatar media rendering
 */
export type AvatarOrImageProps = {
    /**
     * Explicit image URL to render.
     */
    readonly imageUrl?: string_url_image | null;
    /**
     * Deterministic avatar definition used by built-in visuals.
     */
    readonly avatarDefinition?: AvatarDefinition | null;
    /**
     * Selected built-in visual id used with `avatarDefinition`.
     */
    readonly visualId?: AvatarVisualId | null;
    /**
     * Surface used to composite a built-in visual in its parent shell.
     */
    readonly surface?: AvatarSurfaceStyle;
    /**
     * Output size in CSS pixels.
     */
    readonly size: number;
    /**
     * Accessible label used for the rendered media.
     */
    readonly alt: string;
    /**
     * Optional CSS class name applied to the rendered element.
     */
    readonly className?: string_css_class;
    /**
     * Optional inline styles forwarded to the rendered element.
     */
    readonly style?: CSSProperties;
};
/**
 * Renders either a static image or a deterministic canvas avatar using one common prop shape.
 *
 * @private shared component for avatar media rendering
 */
export declare function AvatarOrImage(props: AvatarOrImageProps): import("react/jsx-runtime").JSX.Element | null;
