import TinyHtmlTemplate from './TinyHtmlTemplate.mjs';
/**
* TinyHtmlLink is a lightweight helper class for managing elements.
* It provides a strict API for configuring preload, stylesheets, icons,
* and other external resource references.
*
* @example
* const link = new TinyHtmlLink({
* rel: 'stylesheet',
* href: '/styles/main.css',
* media: 'screen',
* blocking: 'render',
* });
*
* document.head.appendChild(link.el);
*
* @extends TinyHtmlTemplate
*/
declare class TinyHtmlLink extends TinyHtmlTemplate {
/**
* Creates a new TinyHtmlLink instance.
* @param {Object} config - Configuration object.
* @param {string} [config.as] - Type of content being loaded (valid only for preload/modulepreload).
* @param {'render'} [config.blocking] - Blocking behavior (only "render").
* @param {'anonymous'|'use-credentials'} [config.crossorigin] - CORS mode ("anonymous" or "use-credentials").
* @param {boolean} [config.disabled=false] - Whether the stylesheet is disabled (rel=stylesheet only).
* @param {'auto'|'high'|'low'} [config.fetchpriority="auto"] - Fetch priority ("high", "low", "auto").
* @param {string} [config.href] - URL of the linked resource.
* @param {string} [config.hreflang] - Language of the linked resource (RFC 5646).
* @param {string} [config.imagesizes] - Sizes attribute for preload images.
* @param {string} [config.imagesrcset] - Srcset attribute for preload images.
* @param {string} [config.integrity] - Subresource Integrity metadata.
* @param {string} [config.media="all"] - Media query (mainly for stylesheets).
* @param {string} [config.referrerpolicy] - Referrer policy ("no-referrer", etc.).
* @param {string} [config.rel] - Relationship (stylesheet, preload, icon, etc.).
* @param {string} [config.sizes] - Icon sizes.
* @param {string} [config.title] - Title (alternate stylesheet sets).
* @param {string} [config.type] - MIME type of the resource (e.g., "text/css").
* @param {string|string[]|Set} [config.tags=[]] - Initial CSS classes.
* @param {string} [config.mainClass=""] - Main CSS class.
*/
constructor({ as, blocking, crossorigin, disabled, fetchpriority, href, hreflang, imagesizes, imagesrcset, integrity, media, referrerpolicy, rel, sizes, title, type, tags, mainClass, }?: {
as?: string;
blocking?: 'render';
crossorigin?: 'anonymous' | 'use-credentials';
disabled?: boolean;
fetchpriority?: 'auto' | 'high' | 'low';
href?: string;
hreflang?: string;
imagesizes?: string;
imagesrcset?: string;
integrity?: string;
media?: string;
referrerpolicy?: string;
rel?: string;
sizes?: string;
title?: string;
type?: string;
tags?: string | string[] | Set;
mainClass?: string;
});
/** @param {string} rel */
set rel(rel: string);
/** @returns {string|null} */
get rel(): string | null;
/** @param {string} as */
set as(as: string);
/** @returns {string|null} */
get as(): string | null;
/** @param {'render'} blocking */
set blocking(blocking: 'render');
/** @returns {string|null} */
get blocking(): string | null;
/** @param {'anonymous'|'use-credentials'} crossorigin */
set crossorigin(crossorigin: 'anonymous' | 'use-credentials');
/** @returns {string|null} */
get crossorigin(): string | null;
/** @param {boolean} disabled */
set disabled(disabled: boolean);
/** @returns {boolean} */
get disabled(): boolean;
/** @param {'auto'|'high'|'low'} fetchpriority */
set fetchpriority(fetchpriority: 'auto' | 'high' | 'low');
/** @returns {string|null} */
get fetchpriority(): string | null;
/** @param {string} href */
set href(href: string);
/** @returns {string|null} */
get href(): string | null;
/** @param {string} hreflang */
set hreflang(hreflang: string);
/** @returns {string|null} */
get hreflang(): string | null;
/** @param {string} imagesizes */
set imagesizes(imagesizes: string);
/** @returns {string|null} */
get imagesizes(): string | null;
/** @param {string} imagesrcset */
set imagesrcset(imagesrcset: string);
/** @returns {string|null} */
get imagesrcset(): string | null;
/** @param {string} integrity */
set integrity(integrity: string);
/** @returns {string|null} */
get integrity(): string | null;
/** @param {string} media */
set media(media: string);
/** @returns {string|null} */
get media(): string | null;
/** @param {string} referrerpolicy */
set referrerpolicy(referrerpolicy: string);
/** @returns {string|null} */
get referrerpolicy(): string | null;
/** @param {string} sizes */
set sizes(sizes: string);
/** @returns {string|null} */
get sizes(): string | null;
/** @param {string} title */
set title(title: string);
/** @returns {string|null} */
get title(): string | null;
/** @param {string} type */
set type(type: string);
/** @returns {string|null} */
get type(): string | null;
}
export default TinyHtmlLink;
//# sourceMappingURL=TinyHtmlLink.d.mts.map