/**
 * Web Style Symbol utils for Components.
 *
 * @experimental
 * @internal
 */
import type { AbortOptions } from "../../core/promiseUtils.js";
import type { Symbol2D3DUnion } from "../../symbols/types.js";

/**
 * Fetch the symbol from a style by name:
 * - Find the style item corresponding to the symbol name in the set of items belonging to the style.
 * - Determine which format/href to use given the available options.
 * - Fetch the symbol from that URL.
 * - Patch symbol as needed.
 *
 * @param styleResponse
 * @param symbolName
 * @param context
 * @param type
 * @param symbolUrlFromStyleItem
 * @param options
 * @experimental
 * @internal
 */
export function fetchSymbolFromStyle(styleResponse: any, symbolName: string, context: object, type: string, symbolUrlFromStyleItem: (...args: any[]) => string | null | undefined, options?: AbortOptions | null | undefined): Promise<Symbol2D3DUnion>;