import type { TypedExpressionImplementation, TypedExecutionContext, EvaluationResult } from '../../types/command-types';
export declare class FormValuesExpression implements TypedExpressionImplementation<Record<string, unknown>> {
    readonly name = "form-values";
    readonly category: "object";
    readonly precedence = 1;
    readonly associativity: "left";
    readonly outputType: "object";
    readonly analysisInfo: {
        isPure: boolean;
        canThrow: boolean;
        complexity: "O(n)";
        dependencies: string[];
    };
    evaluate(_context: TypedExecutionContext, formElement: HTMLElement): Promise<EvaluationResult<Record<string, unknown>>>;
    private extractFieldValue;
}
export declare class FormValidationExpression implements TypedExpressionImplementation<boolean> {
    readonly name = "form-validate";
    readonly category: "logical";
    readonly precedence = 1;
    readonly associativity: "left";
    readonly outputType: "boolean";
    readonly analysisInfo: {
        isPure: boolean;
        canThrow: boolean;
        complexity: "O(n)";
        dependencies: string[];
    };
    evaluate(_context: TypedExecutionContext, formElement: HTMLElement, customRules?: Record<string, string>): Promise<EvaluationResult<boolean>>;
    private getFormValues;
    private validateCustomRules;
    private validateRule;
}
export declare class FormSerializationExpression implements TypedExpressionImplementation<string> {
    readonly name = "form-serialize";
    readonly category: "conversion";
    readonly precedence = 1;
    readonly associativity: "left";
    readonly outputType: "string";
    readonly analysisInfo: {
        isPure: boolean;
        canThrow: boolean;
        complexity: "O(n)";
        dependencies: string[];
    };
    evaluate(context: TypedExecutionContext, formElement: HTMLElement, format?: string): Promise<EvaluationResult<string>>;
}
export declare const enhancedFormExpressions: {
    readonly 'form-values': FormValuesExpression;
    readonly 'form-validate': FormValidationExpression;
    readonly 'form-serialize': FormSerializationExpression;
};
export declare function createFormValues(): FormValuesExpression;
export declare function createFormValidation(): FormValidationExpression;
export declare function createFormSerialization(): FormSerializationExpression;
export declare function extractFormValues(formElement: HTMLElement, context: TypedExecutionContext): Promise<EvaluationResult<Record<string, unknown>>>;
export declare function validateForm(formElement: HTMLElement, context: TypedExecutionContext, customRules?: Record<string, string>): Promise<EvaluationResult<boolean>>;
export declare function serializeForm(formElement: HTMLElement, context: TypedExecutionContext, format?: string): Promise<EvaluationResult<string>>;
export default enhancedFormExpressions;
//# sourceMappingURL=index.d.ts.map