import { PropsOf } from "../utils/types.js";
import "../utils/index.js";
import { Svg } from "../svg/svg.js";
import "../svg/index.js";
import { BaseIcon } from "./baseIcons/types.js";
//#region src/icons/types.d.ts
/** Object defining a custom icon. */
type IconDefinition = {
  /** Icon details including height, width and 'd' attribute. */
  details: IconDetails;
  /** Name of the icon used internally. */
  name: string;
  /** Old name of the icon, used for backward compatibility. */
  oldName?: string;
  /** Props object or array of objects passed to the path elements. */
  pathProps?: React.SVGProps<SVGPathElement> | React.SVGProps<SVGPathElement>[];
  /** Props object passed to the svg element. */
  svgProps?: PropsOf<typeof Svg>;
};
/** Icon definition following Font Awesome standard. */
type IconDetails = [number, number, string[], string,
// unicode
string | string[]];
/** Base icons collection, which can be extended by the consumer. */
interface VuiIcons extends Record<BaseIcon, IconDefinition> {}
type VuiIcon = keyof VuiIcons;
//#endregion
export { IconDefinition, IconDetails, VuiIcon, VuiIcons };

//# sourceMappingURL=types.d.ts.map