import type { IDataObject, ILoadOptionsFunctions, INodePropertyOptions } from 'n8n-workflow'; import { MondayGraphQLClient } from './MondayGraphQLClient'; export declare const REQUIRED_CAPABLE_COLUMN_TYPES: Set; export declare const RULE_OPERATOR_OPTIONS: INodePropertyOptions[]; export type RuleClause = 'plain' | 'if' | 'then'; export declare const PLAIN_RULE_OPERATORS: Record; export declare const IF_CLAUSE_OPERATORS: Record; export declare const THEN_CLAUSE_OPERATORS: Record; export declare function getRuleOperatorOptions(clause: RuleClause, columnType: string | undefined): INodePropertyOptions[]; export declare function getRuleCapableColumnTypes(clause: RuleClause): Set; export interface RuleConstraintInput { columnId: string; operator: string; value?: string; } export interface RuleColumnMeta { id: string; title?: string; type: string; settings_str?: string; } export interface CompiledRuleConstraint extends IDataObject { operator: string; column_id: string; compare_value?: Array; } export declare function compileRuleConstraint(row: RuleConstraintInput, columns: RuleColumnMeta[]): CompiledRuleConstraint; export interface CompiledRuleClause extends IDataObject { operator: string; groups: CompiledRuleConstraint[]; } export declare function compileRuleClause(rows: RuleConstraintInput[], columns: RuleColumnMeta[], matchOperator?: 'AND' | 'OR'): CompiledRuleClause; export interface UnsupportedRuleConstraint { clause: RuleClause; columnId: string; columnType: string; operator: string; supported: readonly string[]; } export declare function findUnsupportedRuleConstraints(clause: RuleClause, rows: RuleConstraintInput[], columns: RuleColumnMeta[]): UnsupportedRuleConstraint[]; export declare function formatUnsupportedRuleMessage(offending: UnsupportedRuleConstraint[]): string; export interface ValidationsResponse { required_column_ids?: string[] | null; rules?: Record | null; } export interface SimplifiedRule extends IDataObject { ruleId: string; if: IDataObject | null; then: IDataObject | null; } export declare function simplifyValidations(validations: ValidationsResponse | null | undefined): { requiredColumnIds: string[]; rules: SimplifiedRule[]; }; export declare function summarizeRule(rule: { if?: IDataObject | null; then?: IDataObject | null; }, columns?: RuleColumnMeta[]): string; export declare function fetchRuleColumns(client: MondayGraphQLClient, boardId: string, itemIndex?: number): Promise; export declare function getRequirableBoardColumns(this: ILoadOptionsFunctions): Promise; export declare function getValidationIfColumns(this: ILoadOptionsFunctions): Promise; export declare function getValidationThenColumns(this: ILoadOptionsFunctions): Promise; export declare function getValidationIfOperators(this: ILoadOptionsFunctions): Promise; export declare function getValidationThenOperators(this: ILoadOptionsFunctions): Promise; export declare function getValidationRulesList(this: ILoadOptionsFunctions): Promise; export declare function getRequiredColumnsList(this: ILoadOptionsFunctions): Promise;