import type { BeanCollection } from '../context/context';
import type { AgColumn } from '../entities/agColumn';
export type IconName = 'columnGroupOpened' | 'columnGroupClosed' | 'columnSelectClosed' | 'columnSelectOpen' | 'columnSelectIndeterminate' | 'accordionClosed' | 'accordionOpen' | 'accordionIndeterminate' | 'columnMovePin' | 'columnMoveHide' | 'columnMoveMove' | 'columnMoveLeft' | 'columnMoveRight' | 'columnMoveGroup' | 'columnMoveValue' | 'columnMovePivot' | 'dropNotAllowed' | 'groupContracted' | 'groupExpanded' | 'setFilterGroupClosed' | 'setFilterGroupOpen' | 'setFilterGroupIndeterminate' | 'setFilterLoading' | 'chart' | 'close' | 'cancel' | 'check' | 'first' | 'previous' | 'next' | 'last' | 'linked' | 'unlinked' | 'colorPicker' | 'groupLoading' | 'overlayLoading' | 'overlayExporting' | 'menu' | 'legacyMenu' | 'loadingMenuItems' | 'menuAlt' | 'filter' | 'filterActive' | 'filterAdd' | 'filterCardExpand' | 'filterCardCollapse' | 'filterCardEditing' | 'filterTab' | 'filtersToolPanel' | 'columns' | 'columnsToolPanel' | 'maximize' | 'minimize' | 'menuPin' | 'menuValue' | 'menuAddRowGroup' | 'menuRemoveRowGroup' | 'clipboardCopy' | 'clipboardCut' | 'clipboardPaste' | 'pivotPanel' | 'rowGroupPanel' | 'valuePanel' | 'columnDrag' | 'rowDrag' | 'rowPin' | 'rowPinTop' | 'rowPinBottom' | 'rowUnpin' | 'save' | 'csvExport' | 'excelExport' | 'smallDown' | 'selectOpen' | 'richSelectOpen' | 'richSelectRemove' | 'richSelectLoading' | 'smallLeft' | 'smallRight' | 'panelDelimiter' | 'panelDelimiterRtl' | 'subMenuOpen' | 'subMenuOpenRtl' | 'smallUp' | 'sortAscending' | 'sortDescending' | 'sortAbsoluteAscending' | 'sortAbsoluteDescending' | 'sortUnSort' | 'advancedFilterBuilder' | 'advancedFilterBuilderDrag' | 'advancedFilterBuilderInvalid' | 'advancedFilterBuilderMoveUp' | 'advancedFilterBuilderMoveDown' | 'advancedFilterBuilderAdd' | 'advancedFilterBuilderRemove' | 'advancedFilterBuilderSelectOpen' | 'chartsMenu' | 'chartsMenuEdit' | 'chartsMenuAdvancedSettings' | 'chartsMenuAdd' | 'chartsColorPicker' | 'chartsThemePrevious' | 'chartsThemeNext' | 'chartsDownload' | 'ensureColumnVisible' | 'checkboxChecked' | 'checkboxIndeterminate' | 'checkboxUnchecked' | 'radioButtonOn' | 'radioButtonOff';
export type Icons = {
    [key: string]: ((...args: any[]) => any) | string;
};
/**
 * If icon provided, use this (either a string, or a function callback).
 * if not, then use the default icon from the theme.
 * Technically `iconName` could be any string, if using user-provided icons map.
 * However, in most cases we're providing a specific icon name, so better to have type-checking.
 * @internal AG_GRID_INTERNAL - Not for public use. Can change / be removed at any time.
 */
export declare function _createIcon(iconName: IconName, beans: BeanCollection, column: AgColumn | null): Element;
/**
 * Technically `iconName` could be any string, if using user-provided icons map.
 * However, in most cases we're providing a specific icon name, so better to have type-checking.
 * @internal AG_GRID_INTERNAL - Not for public use. Can change / be removed at any time.
 */
export declare function _createIconNoSpan(iconName: IconName, beans: BeanCollection, column?: AgColumn | null): Element | undefined;
