import { type ArrayElement } from '@augment-vir/common'; import { type CustomElementTagName } from '../custom-tag-name.js'; /** * Base requirement for all string names with the element tag name prepended. * * @category Internal */ export type BaseStringName = `${ElementTagName}-${string}`; /** * Asserts that all the given string names for the given element are valid. * * @category Internal */ export declare function assertValidStringNames(elementTagName: CustomElementTagName, stringNames: Record, any>): void; /** * Type safe mapping of string names to themself with the element tag name inserted. * * @category Internal */ export type StringNameMap> = Readonly<{ [StringName in ArrayElement]: `${ElementTagName}-${NameType}-${StringName}`; }>; /** * Converts an array of string names into a `StringNameMap`. * * @category Internal */ export declare function createStringNameMap>(elementTagName: ElementTagName, nameType: NameType, stringNames: StringNames | undefined): StringNameMap;