import { type TemplateTransform } from './template-transform-type.js';
export type ValueInsertion = {
    index: number;
    value: unknown;
};
export type ValueTransformCallback = (lastNewString: string, currentLitString: string, currentValue: unknown) => {
    replacement: unknown;
    getExtraValues: ((currentValue: unknown) => unknown[]) | undefined;
} | undefined;
export declare function getTransformedTemplate<PossibleValues>(templateStringsKey: TemplateStringsArray, values: PossibleValues[], fallbackTransform: () => TemplateTransform): {
    strings: TemplateStringsArray;
    values: PossibleValues[];
};
export declare function transformTemplate<PossibleValues>(inputTemplateStrings: TemplateStringsArray, inputValues: PossibleValues[], transformValue: ValueTransformCallback, assertValidString?: (templateStringPart: string) => void): TemplateTransform;
