import type { ActionMenuImagePathCallback, ComboBoxImagePathCallback, GxImageMultiState, NavigationListItemModel, TreeViewImagePathCallback } from "@genexus/chameleon-controls-library";
import type { ActionListItemAdditionalBase } from "@genexus/chameleon-controls-library/dist/types/components/action-list/types";
import type { RegistryGetImagePathCallback } from "@genexus/chameleon-controls-library/dist/types/index";
import type { Assets, AssetsColorType, AssetsMetadata } from "./types";
export declare const MERCURY_ALIAS = "mer";
/**
 * Given a vendor and its assets, it register the assets of the vendor. After
 * the registration, the `getAsset` function can be used to retrieve any assets
 * related to the vendor.
 * @param vendorName The name of the vendor (for example, "Mercury"). Must be unique.
 * @param vendorAlias The alias of the vendor (for example, "mer"). Must be unique.
 * @param assets The assets (generated by the SVG Sass Generator) to register.
 */
export declare const registerAssets: (vendorName: string, vendorAlias: string, assets: Assets) => void;
/**
 * @param vendorAlias The name or alias of the vendor.
 * @param assetMetadata The metadata required to retrieve the icon
 * @return The required asset or undefined if not found.
 */
export declare const getAsset: (vendorAliasOrName: string, assetMetadata: AssetsMetadata) => AssetsColorType | undefined;
/**
 * Given the metadata of the icon, it transforms the metadata into a string
 * that contains the given information.
 */
export declare const getIconPath: (iconMetadata: AssetsMetadata, vendorAlias?: string) => `${string}/${string}/${string}${string}`;
/**
 * Given the metadata of the icon and the metadata of its expanded version, it
 * transforms both metadata into a string that contains the given information.
 */
export declare const getIconPathExpanded: (iconMetadata: AssetsMetadata, iconMetadataExpanded: AssetsMetadata, vendorAlias?: string) => `${string}/${string}/${string}${string}:${string}/${string}/${string}${string}`;
export declare const getImagePathCallback: (iconPath: string) => GxImageMultiState;
export declare const getActionMenuImagePathCallback: ActionMenuImagePathCallback;
export declare const getActionListImagePathCallback: (additionalItem: ActionListItemAdditionalBase) => GxImageMultiState | undefined;
export declare const getNavigationListImagePathCallback: (itemModel: NavigationListItemModel) => GxImageMultiState | undefined;
export declare const getTreeViewImagePathCallback: TreeViewImagePathCallback;
export declare const getComboBoxImagePathCallback: ComboBoxImagePathCallback;
/**
 * This object is used to register the getImagePathCallback definitions for all
 * controls in Chameleon.
 *
 * @example
 * ```ts
 * registryProperty("getImagePathCallback", getImagePathCallbackDefinitions);
 * ```
 */
export declare const getImagePathCallbackDefinitions: RegistryGetImagePathCallback;
