// @ts-check
/**
 * @file
 * Types for Simple Icons SDK.
 */

import type {IconData} from './types.d.ts';

export type {IconData, DuplicateAlias, Aliases} from './types.d.ts';

/**
 * The data for a third-party extension.
 *
 * Includes the module and author of the extension,
 * both including a name and URL.
 * @see {@link https://github.com/simple-icons/simple-icons#third-party-extensions Third-Party Extensions}
 */
export type ThirdPartyExtension = {
	module: ThirdPartyExtensionSubject;
	author: ThirdPartyExtensionSubject;
};

type ThirdPartyExtensionSubject = {
	name: string;
	url: string;
};

/* The next code is autogenerated from sdk.mjs */
/* eslint-disable */

export const SVG_PATH_REGEX: RegExp;
export function getIconSlug(icon: IconData): string;
export function svgToPath(svg: string): string;
export function titleToSlug(title: string): string;
export function slugToVariableName(slug: string): string;
export function titleToHtmlFriendly(brandTitle: string): string;
export function htmlFriendlyToTitle(htmlFriendlyTitle: string): string;
export function getIconsDataPath(): string;
export function getIconsDataString(): Promise<string>;
export function getIconsData(): Promise<IconData[]>;
export function normalizeNewlines(text: string): string;
export function normalizeColor(text: string): string;
export function getThirdPartyExtensions(): Promise<ThirdPartyExtension[]>;
export function getThirdPartyLibraries(): Promise<ThirdPartyExtension[]>;
export const collator: Intl.Collator;
export type IconData = import('./types.js').IconData;
