import { type TemplateResult } from 'lit';
/**
 * The `Template` class.
 *
 * @public
 */
export declare class Template {
    /**
     * Constructs a new instance of the `Template` class.
     *
     * @public
     */
    constructor();
    /**
     * Applies the template to the container.
     *
     * @public
     * @param container - The container element.
     * @param template - The optional HTML template element.
     */
    apply(container: Element, template?: HTMLTemplateElement): void;
    /**
     * Creates a new template.
     *
     * @public
     * @param template - The template string.
     * @returns The template.
     *
     * @example
     * ```ts
     * const template = Template.create(html`<template id="myTemplate"><div>Test</div></template>`);
     * ```
     */
    create(template: TemplateResult): HTMLTemplateElement;
}
/**
 * @public
 */
export declare class TemplateServiceLocator {
    private static _current;
    static get current(): Template;
    static isSet(): boolean;
    static set(current: Template): void;
}
//# sourceMappingURL=Template.d.ts.map