declare type TemplateLambda<T extends ReadonlyArray<unknown>> = (...args: T) => string;
export declare class Template<T extends ReadonlyArray<unknown>> {
    private template;
    protected constructor(t: TemplateLambda<T>);
    static create<T extends ReadonlyArray<unknown>>(x: string | TemplateLambda<T>): Template<T>;
    format(...args: T): string;
}
export declare function T<TT extends ReadonlyArray<unknown>>(x: string | TemplateLambda<TT>): Template<TT>;
export {};