import { type ComponentProps, type ComponentType, type ReactElement } from 'react';
import type { GDSComponentProps } from '@graphprotocol/gds-css';
import { IconMeta } from './Icon.meta.ts';
export interface IconProps extends Omit<ComponentProps<'span'>, 'children' | 'color'>, GDSComponentProps<typeof IconMeta> {
    /**
     * Text used as the icon's accessible name. Required to make sure consumers consider accessibility
     * when manually rendering icons, but should be set to an empty string if the icon is purely
     * decorative, and also accepts `undefined` (same behavior as empty string) to support passing
     * icons as addons to components that handle accessibility on their own (e.g. `<Button
     * addonAfter={ArrowRight}>Continue</Button>`).
     */
    alt: string | undefined;
}
export type IconSrc = ReactElement | ComponentType;
export interface IconPropsWithSrc extends IconProps {
    src: IconSrc;
}
export declare function Icon({ src, alt, size, color, className, style, ...props }: IconPropsWithSrc): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=Icon.d.ts.map