import { type DefaultSVGIconProps, type IconNextName, type NextIconVariant, type SVGIconProps } from "@blueprintjs/icons/next"; import { type IntentProps, type MaybeElement, type Props } from "../../common"; export interface IconNextOwnProps { /** * Whether the component should automatically load icon contents using an async import. * * @default true */ autoLoad?: boolean; /** * Name of a next-generation Blueprint UI icon, or an icon element, to render. * * - If `null` or `undefined` or `false`, this component will render nothing. * - If given a `IconNextName` string, that icon will be rendered as an `` with `` tags. * - If given a `React.JSX.Element`, that element is cloned with the parent-provided `className` and intent class * merged onto its root. If the element is a Blueprint icon component, DOM attributes and the `color` and * `size` props are also forwarded onto it, with the element's own `color`/`size` taking precedence. For any * other element type, other props on this component are ignored. */ icon: IconNextName | MaybeElement; /** * Icon variant. Next icons support outlined (default) and filled variants. * If `"filled"` is requested but unavailable for this icon, falls back to `"outlined"`. * * @default "outlined" */ variant?: NextIconVariant; } export type IconNextProps = IntentProps & Props & SVGIconProps & IconNextOwnProps; /** * The default `` props interface, equivalent to `IconNextProps` with its default type parameter. * This is primarily exported for documentation purposes; users should reference `IconNextProps` instead. */ export interface DefaultIconNextProps extends IntentProps, Props, DefaultSVGIconProps, IconNextOwnProps { } export interface IconNextComponent extends React.FC> { (props: IconNextProps): React.ReactNode; } /** * Next-generation icon component. Renders icons from `@blueprintjs/icons/next` with * dynamic loading support and outlined/filled variant switching. * * @see https://blueprintjs.com/docs/#core/components/icon */ export declare const IconNext: IconNextComponent;