import { type ReactElement } from 'react';
import type { GDSComponentProps } from '@graphprotocol/gds-css';
import { AvatarMeta } from './Avatar.meta.ts';
import { type MaybeButtonOrLinkProps } from './base/MaybeButtonOrLink.tsx';
import { type TooltipProps } from './Tooltip.tsx';
export declare namespace AvatarProps {
    interface BaseProps extends GDSComponentProps<typeof AvatarMeta> {
        /**
         * Image source URL or array of URLs to try as fallbacks. If an array is provided, each URL will
         * be tried in order until one loads successfully. Alternatively, this can be a React element
         * (e.g. an icon) for custom avatar content.
         */
        src: string | string[] | ReactElement | undefined;
        /**
         * Text used as the avatar's accessible name (e.g. the username or address of the represented
         * user). Necessary if the avatar is clickable, recommended otherwise (unless the same
         * information is already present as visible text nearby, then this should be an empty string).
         */
        alt: string | undefined;
        /** For clickable avatars, defaults to `alt`, otherwise defaults to `undefined` */
        tooltip?: TooltipProps['content'] | Omit<TooltipProps, 'children'> | undefined;
    }
    interface ButtonProps extends BaseProps, Omit<MaybeButtonOrLinkProps.ButtonProps, 'children'> {
    }
    interface LinkProps extends BaseProps, Omit<MaybeButtonOrLinkProps.LinkProps, 'children'> {
    }
    interface OtherElementProps extends BaseProps, Omit<MaybeButtonOrLinkProps.OtherElementProps, 'children'> {
    }
}
export type AvatarProps = AvatarProps.ButtonProps | AvatarProps.LinkProps | AvatarProps.OtherElementProps;
export declare function Avatar({ ref: passedRef, shape, size, src: passedSrc, alt, tooltip, className, style, ...props }: AvatarProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=Avatar.d.ts.map