import type { TypedExpressionImplementation, TypedExecutionContext, HyperScriptValue, EvaluationResult } from '../../types/command-types';
export declare class StringInterpolationExpression implements TypedExpressionImplementation<string> {
    readonly name = "string-interpolation";
    readonly category: "string";
    readonly precedence = 1;
    readonly associativity: "left";
    readonly outputType: "string";
    readonly analysisInfo: {
        isPure: boolean;
        canThrow: boolean;
        complexity: "O(n)";
        dependencies: string[];
    };
    evaluate(context: TypedExecutionContext, template: string, variables?: Record<string, unknown>): Promise<EvaluationResult<string>>;
    private evaluateExpression;
}
export declare class StringConcatenationExpression implements TypedExpressionImplementation<string> {
    readonly name = "string-concat";
    readonly category: "string";
    readonly precedence = 6;
    readonly associativity: "left";
    readonly outputType: "string";
    readonly analysisInfo: {
        isPure: boolean;
        canThrow: boolean;
        complexity: "O(n)";
        dependencies: never[];
    };
    evaluate(_context: TypedExecutionContext, ...values: HyperScriptValue[]): Promise<EvaluationResult<string>>;
}
export declare class StringLengthExpression implements TypedExpressionImplementation<number> {
    readonly name = "string-length";
    readonly category: "string";
    readonly precedence = 10;
    readonly associativity: "left";
    readonly outputType: "number";
    readonly analysisInfo: {
        isPure: boolean;
        canThrow: boolean;
        complexity: "O(1)";
        dependencies: never[];
    };
    evaluate(_context: TypedExecutionContext, value: HyperScriptValue): Promise<EvaluationResult<number>>;
}
export declare const enhancedStringExpressions: {
    readonly 'string-interpolation': StringInterpolationExpression;
    readonly 'string-concat': StringConcatenationExpression;
    readonly 'string-length': StringLengthExpression;
};
export declare function createStringInterpolation(): StringInterpolationExpression;
export declare function createStringConcatenation(): StringConcatenationExpression;
export declare function createStringLength(): StringLengthExpression;
export declare function interpolateString(template: string, context: TypedExecutionContext, variables?: Record<string, unknown>): Promise<EvaluationResult<string>>;
export declare function concatenateStrings(context: TypedExecutionContext, ...values: HyperScriptValue[]): Promise<EvaluationResult<string>>;
export declare function getStringLength(value: HyperScriptValue, context: TypedExecutionContext): Promise<EvaluationResult<number>>;
export default enhancedStringExpressions;
//# sourceMappingURL=index.d.ts.map