import { ConditionContentSchema, Content, Relation, RelationDetails, RelationValue, StructureNode } from '@/types/index';
export declare const VARIABLE_REG: RegExp;
export declare const CONDITION_RELATION_KEY = "__conditions";
export declare const TEMPLATE_RELATION_KEY = "__templates";
export declare const FUNCTION_RELATION_KEY = "__functions";
export declare const TIME_CONDITION_KEY = "__condition";
export declare const CONTEXT_KEY = "__context";
export declare const THIS_KEY = "$this.children";
/**
 * init relation by content
 * @param content content
 * @param relations relations (contain the relation detail)
 * @returns relation
 */
export declare const initRelation: (content: Content, relations: RelationDetails) => {
    relation: Relation;
    invalids: string[];
};
/**
 * init variable relation
 * @param variableKey
 * @param variables
 * @returns
 */
export declare const initVariableRelation: (variableKey: string, variables?: RelationDetails['variables']) => RelationValue | null;
/**
 * init condition relation
 * @param conditionId
 * @returns
 */
export declare const initConditionRelation: (conditionId: string) => RelationValue;
/**
 * init function relation
 * @param functionId
 * @returns
 */
export declare const initFunctionRelation: (functionId: string) => RelationValue;
/**
 * init template relation
 * @param templateId
 * @returns
 */
export declare const initTemplateRelation: (templateId: string) => RelationValue;
/**
 * init sys relation
 * for __context:xx:xx
 * @returns
 */
export declare const initSysRelation: () => RelationValue;
/**
 * get variable used path
 * @param values ['{{AA:BB:CC}}']
 * @returns ['AA:BB:CC']
 */
export declare const getVariablePath: (values: string[]) => string[];
export declare const filterVariables: (list?: StructureNode[]) => string[];
export declare const getFunctionRelationKey: (contentId: string) => string;
export declare const getSystemVariableRelationKey: (attr: string) => string;
export declare const getConditionRelationKey: (contentId: string) => string;
export declare const getTemplateRelationKey: (contentId: string) => string;
export declare const isTimeConditionRelation: (schemaItems: ConditionContentSchema) => boolean;
