import { ContextValue } from '../context/ContextValue.js';
import { JinjaExpression, JinjaExpressionVariable, JinjaVariable } from '../context/JinjaVariable.js';
import { FormVariable } from './FormVariable.js';
import { FieldConfig } from './types.js';
export declare class FormContextValue extends ContextValue {
    readonly variables: Record<string, FormVariable[]>;
    readonly computedVariables: Record<string, JinjaExpressionVariable>;
    readonly parent?: ContextValue | undefined;
    constructor(name: string, fields: FieldConfig[], computed?: Record<string, JinjaExpression>, parent?: ContextValue);
    private computeValidations;
    isValid(): Promise<boolean>;
    getResolvedVariable(variable: JinjaVariable | undefined): Promise<any>;
    findByKey(key: string): FormVariable | undefined;
    protected findVariableByKey(key: string): JinjaVariable | undefined;
    getVariableInContext(key: string): JinjaVariable | undefined;
    getAllInContext(): Record<string, any>;
    protected addVariablesToContext(variables: FormVariable[]): void;
    forEachVariable(iteratee: (v: JinjaVariable) => void): void;
}
//# sourceMappingURL=FormContextValue.d.ts.map