import { type TemplateResult } from 'lit';
/**
 * A marker interface used to capture types when interpolating Directive helpers into templates.
 *
 * @public
 */
export interface ICaptureType<TSource, TParent> {
}
/**
 * Represents the types of values that can be interpolated into a template.
 * @public
 */
export type TemplateValue<TSource, TParent = any> = ICaptureType<TSource, TParent>;
export type ViewTemplate<TSource, TParent = any> = TemplateResult;
export type HTMLTemplateTag = (<TSource = any, TParent = any>(strings: TemplateStringsArray, ...values: Array<TemplateValue<TSource, TParent>>) => ViewTemplate<TSource, TParent>);
/**
 * Transforms a template literal string into a ViewTemplate.
 *
 * @remarks
 * The html helper supports interpolation of strings, numbers, binding expressions,
 * other template instances, and Directive instances.
 *
 * @param strings - The string fragments that are interpolated with the values.
 * @param values - The values that are interpolated with the string fragments.
 *
 * @public
 */
export declare const html: HTMLTemplateTag;
//# sourceMappingURL=Html2.d.ts.map