import { InputPin, ConfigurableValue, ConfigurableFieldDefinition, InternalMacroNode, InputMode } from ".."; import { InputConfig } from "./configurable-nodes"; export declare function extractInputsFromValue(_val: unknown, key: string, mode?: InputMode): Record; export declare function replaceInputsInValue(inputs: Record, value: ConfigurableValue, fieldName: string, ignoreMissingInputs?: boolean): ConfigurableValue["value"]; export declare function renderConfigurableValue(value: ConfigurableValue, fieldName: string): string; export declare function generateConfigEditor(config: Config, overrides?: Partial>): InternalMacroNode["editorConfig"]; export declare function renderDerivedString(displayName: string, config: any): string; /** * Evaluates a string condition against a configuration object. * * @param condition The string expression to evaluate * @param config The configuration object to evaluate against * @returns True if the condition is met, false otherwise */ export declare function evaluateCondition(condition: string | undefined, config: Record): boolean; /** * Evaluates whether a field in a group hierarchy should be visible. * A field is visible only if all its parent groups are visible. * * @param field The field to check visibility for * @param fieldPath Array of parent group field IDs leading to this field * @param allFields Map of all fields by their ID * @param config The configuration object to evaluate conditions against * @returns True if the field should be visible, false otherwise */ export declare function evaluateFieldVisibility(fieldKey: string, groupHierarchy: string[], allFields: Record, config: Record): boolean; /** * Creates a group configuration for use in InputConfig. * * @param title The title of the group * @param fields Array of field keys to include in the group * @param options Additional group options * @returns A group configuration object */ export declare function createInputGroup(title: string, fields: string[], options?: { collapsible?: boolean; defaultCollapsed?: boolean; parentGroup?: string; condition?: string; }): NonNullable & { condition?: string; }; //# sourceMappingURL=configurable-node-utils.d.ts.map