/** * The name of the icon from SvgIcons registry. * Use these names wherever an icon is accepted (toolbar, menu, pagination). * Can be overridden or extended via `rendering.icons`. * * Default icons available in the registry: * - `filter`, `menu`, `checkmark` * - `arrowUpDown`, `arrowUp`, `arrowDown` * - `chevronLeft`, `chevronRight`, `doubleChevronLeft`, `doubleChevronRight` * - `copy`, `clipboard`, `plus`, `trash` * - `addRowAbove`, `addRowBelow`, `addColumnLeft`, `addColumnRight` */ export type GridIconName = ('filter' | 'menu' | 'checkmark' | 'arrowUpDown' | 'arrowUp' | 'arrowDown' | 'chevronLeft' | 'chevronRight' | 'doubleChevronLeft' | 'doubleChevronRight' | 'copy' | 'clipboard' | 'plus' | 'trash' | 'addRowAbove' | 'addRowBelow' | 'addColumnLeft' | 'addColumnRight' | 'pin' | 'unpin'); /** * The registry of all Grid Svg icons with their SVG path data. */ export declare const icons: Record; /** * The default path definitions for the Grid Svg icons. */ export declare const pathDefaults: Partial; /** * The definition of a path for a Grid Svg icon. */ export interface PathDefinition { d: string; stroke?: string; 'stroke-width'?: number; 'stroke-linecap'?: string; 'stroke-linejoin'?: string; opacity?: number; } /** * The definition of an SVG for a Grid Svg icon. */ export interface SVGDefinition { width?: number; height?: number; viewBox?: string; fill?: string; children?: PathDefinition[]; } /** * Value for an entry in the icon registry: either an SVG definition object * or a raw SVG markup string (e.g. `'...'`). */ export type IconRegistryValue = SVGDefinition | string; /** * Looks up an icon by name, checking custom icons first and then falling * back to the built-in registry. * * @param name * Icon name to look up. * * @param customIcons * Optional map of icon names provided via `rendering.icons`. * * @returns * Icon registry value (definition or raw SVG string), or `undefined` if * neither a custom nor a built-in icon exists for the given name. */ export declare function getIconFromRegistry(name: string, customIcons?: Record): IconRegistryValue | undefined; /** * Creates an SVG icon element from the SvgIcons registry or a custom * registry. When `customIcons` is provided, `name` can be any registered * name (built-in or custom). When omitted, only built-in `GridIconName` * values are allowed. * * @param name * The name of the icon (built-in or from registry) * * @param customIcons * Optional custom icons map from `rendering.icons`. When provided, custom * and override icons are used and arbitrary names are allowed. * * @returns * SVG element with the specified icon */ export declare function createGridIcon(name: string, customIcons?: Record): SVGElement; declare const _default: { readonly createGridIcon: typeof createGridIcon; readonly getIconFromRegistry: typeof getIconFromRegistry; readonly icons: Record; readonly pathDefaults: Partial; }; export default _default;