/**
 * Copyright IBM Corp. 2019, 2024
 *
 * This source code is licensed under the Apache-2.0 license found in the
 * LICENSE file in the root directory of this source tree.
 */
export interface CarbonIconElement {
    elem: string;
    attrs: Record<string, string | number>;
    content: (CarbonIconElement | string)[];
}
export interface CarbonIconDescriptor {
    elem: string;
    attrs: Record<string, string | number>;
    content: CarbonIconElement[];
    name: string;
    size: number;
}
export interface CarbonIconModule {
    default?: CarbonIconDescriptor;
}
export type CarbonIcon = CarbonIconDescriptor | CarbonIconModule;
/**
 * Convert an imported icon descriptor to an SVG string, e.g.
 * import ChevronRight16 from '@carbon/icons/es/chevron--right/16.js';
 */
export declare function carbonIconToSVG(descriptor: CarbonIcon, attributes?: Record<string, string | number | undefined>): string;
/**
 * Create an icon function that returns a Lit template with unsafeSVG
 */
export declare function createIconTemplate(descriptor: CarbonIcon): (attributes?: Record<string, string | number | undefined>) => import("lit-html/directive.js").DirectiveResult<typeof import("lit-html/directives/unsafe-svg.js").UnsafeSVGDirective>;
//# sourceMappingURL=icon-loader-utils.d.ts.map