import { PromptTemplate } from '@langchain/core/prompts'; import { LangGraphRunnableConfig } from '@langchain/langgraph'; import { IGraphNode } from '../../../graphs'; import { LLMProvider } from '../../../types'; import { DbSchemaHelperService } from '../services'; import { DbQueryState } from '../state'; import { DbQueryConfig } from '../types'; export declare class GenerateChecklistNode implements IGraphNode { private readonly llm; private readonly config; private readonly schemaHelper; private readonly checks?; constructor(llm: LLMProvider, config: DbQueryConfig, schemaHelper: DbSchemaHelperService, checks?: string[] | undefined); prompt: PromptTemplate\nYou are given a user question, the tables selected for SQL generation, the relevant database schema, and a numbered list of rules/checks.\nReturn ONLY the indexes of the rules that are relevant to the user's question, the selected tables, and the given schema.\n\nA rule is relevant if:\n- It directly affects how a correct SQL query should be written for this question.\n- It is a dependency of another relevant rule (e.g. if rule 3 requires a currency conversion, and rule 5 defines how currency conversion works, both must be included).\n- It applies to any of the selected tables or their relationships.\n\nAfter selecting relevant rules, review your selection and ensure:\n- Any rule that is referenced by, or is a prerequisite for, another selected rule is also included.\n- Do not include rules that are completely unrelated to the question, schema, or selected tables.\n\n\n\n{prompt}\n\n\n\n{tables}\n\n\n\n{schema}\n\n\n\n{indexedChecks}\n\n\n\nReturn only a comma-separated list of the relevant rule indexes.\nDo not include any other text, explanation, or formatting.\nExample: 1,3,5\nIf no rules are relevant, return: none\n">, any>; execute(state: DbQueryState, config: LangGraphRunnableConfig): Promise; private runParallelChecklist; private parseIndexes; }