export type ConfigFieldType = "string" | "number" | "boolean" | "select" | "multiselect" | "textarea" | "json" | "code" | "slider" | "secret" | "file" | "color"; export type ConfigPrimitive = string | number | boolean | null; export type ConfigValue = ConfigPrimitive | ConfigPrimitive[] | Record | unknown[]; export type NodeConfig = Record; export interface SecretReference { $secretRef: string; } export interface ConfigOption { label: string; value: string | number | boolean; description?: string; } export interface ConfigFieldVisibility { field: string; equals?: ConfigValue; notEquals?: ConfigValue; exists?: boolean; } export interface ConfigFieldValidation { pattern?: string; message?: string; } export interface ConfigFieldUi { width?: "full" | "half" | "third"; row?: number; group?: string; language?: string; monospace?: boolean; smartText?: boolean | "auto"; smartTextMaxLines?: number; } export interface ConfigField { type: ConfigFieldType; label: string; serialize?: boolean; description?: string; default?: ConfigValue; required?: boolean; min?: number; max?: number; step?: number; options?: ConfigOption[]; placeholder?: string; visibleWhen?: ConfigFieldVisibility; validation?: ConfigFieldValidation; ui?: ConfigFieldUi; } export declare function isSecretReference(value: unknown): value is SecretReference; export type ConfigSchema = Record; export declare function getDefaultConfig(schema?: ConfigSchema): NodeConfig; //# sourceMappingURL=configSchema.d.ts.map