import { type ComponentPropsWithRef, type ElementType, type SVGAttributes } from 'react';
declare const RESOLUTION: {
    high: string;
    low: string;
    tiny: string;
};
export type IconProperties<ET extends ElementType = 'svg'> = {
    /** Aria Base ID */
    ariaBaseId?: number | string;
    /** Icon Branding */
    brand?: 'generic' | 'visa';
    /** Description for Standalone SVG's */
    description?: string;
    /** Name of Icon */
    iconName?: string;
    /** Resolution of Icon */
    resolution?: keyof typeof RESOLUTION;
    /** Flips icon horizontally when document direction is set to right to left */
    rtl?: boolean;
    /** Title for Standalone SVG's */
    title?: string;
} & SVGAttributes<SVGSVGElement> & ComponentPropsWithRef<ET>;
/**
 * Meant for use with sprites only. Uses dom href linking of sprite elements expected to already be in the DOM to render the icon.
 * @docs {@link https://design.visa.com/components/icons-illustrations | See Docs}
 * @vgar TODO
 * @wcag TODO
 */
declare const Icon: {
    <ET extends ElementType = "svg">({ ariaBaseId, brand, className, description, iconName, resolution, rtl, ref, title, ...remainingProps }: IconProperties<ET>): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
export default Icon;
