import { CrochetInterpolation, CrochetValue, InteprolationPart, InterpolationDynamic, InterpolationStatic } from "../primitives"; import { EInterpolate, EInterpolateDynamic, EInterpolateStatic, EInterpolationPart, EText } from "./expression"; export declare class SimpleInterpolation { readonly parts: SimpleInterpolationPart[]; constructor(parts: SimpleInterpolationPart[]); interpolate(f: (_: T) => CrochetValue): CrochetInterpolation; to_expression(): EText | EInterpolate; has_dynamic_parts(): boolean; static_text(): string; optimise(): SimpleInterpolation; } export declare abstract class SimpleInterpolationPart { abstract evaluate(f: (_: T) => CrochetValue): InteprolationPart; abstract to_expression(): EInterpolationPart; abstract static_text(): string; abstract merge(x: SimpleInterpolationPart): SimpleInterpolationPart | null; } export declare class SIPStatic extends SimpleInterpolationPart { readonly text: string; constructor(text: string); evaluate(f: (_: T) => CrochetValue): InterpolationStatic; to_expression(): EInterpolateStatic; static_text(): string; merge(x: SimpleInterpolationPart): SimpleInterpolationPart | null; } export declare class SIPDynamic extends SimpleInterpolationPart { readonly value: T; constructor(value: T); evaluate(f: (_: T) => CrochetValue): InterpolationDynamic; to_expression(): EInterpolateDynamic; static_text(): string; merge(x: SimpleInterpolationPart): SimpleInterpolationPart | null; }