import type { CipClient } from '../../clients/cip.js'; import type { CipDescribeTableOptions, CipDescribeTableResult, CipListTablesOptions, CipListTablesResult, CipReportDefinition, CipReportExecutionOptions, CipReportQueryResult, CipReportSqlResult } from './types.js'; /** * Curated CIP report operations. * * This module exposes report catalog discovery, SQL generation, and * report execution helpers on top of {@link CipClient}. * * @module operations/cip */ export type { CipColumnMetadata, CipDescribeTableOptions, CipDescribeTableResult, CipListTablesOptions, CipListTablesResult, CipReportDefinition, CipReportExecutionOptions, CipReportParamType, CipReportParamDefinition, CipReportQueryExecutor, CipReportQueryResult, CipReportSqlResult, CipTableMetadata, } from './types.js'; export { booleanLiteral, dateLiteral, escapeSqlString, integerLiteral, isReservedIdentifier, quoteIdentifierIfReserved, stringInList, stringLiteral, } from './sql.js'; /** * Lists tables from the CIP metadata catalog. * * @param client - CIP client instance for executing metadata queries * @param options - Optional filtering and pagination options (schema, table name pattern, table type, fetch size) * @returns Promise resolving to a list of table metadata records with schema information and table count */ export declare function listCipTables(client: CipClient, options?: CipListTablesOptions): Promise; /** * Describes table columns from the CIP metadata catalog. * * @param client - CIP client instance for metadata queries * @param tableName - Name of the table to describe * @param options - Optional schema selection and pagination options * @returns Promise resolving to table column descriptions and metadata */ export declare function describeCipTable(client: CipClient, tableName: string, options?: CipDescribeTableOptions): Promise; /** * Lists all curated CIP reports. * * @returns Array of all available curated CIP report definitions */ export declare function listCipReports(): CipReportDefinition[]; /** * Looks up a curated CIP report by name. * * @param name - The report name to look up * @returns The report definition if found, undefined if no report matches the provided name */ export declare function getCipReportByName(name: string): CipReportDefinition | undefined; /** * Builds SQL for a curated report after validating provided parameters. * * @param name - The name of the report to build SQL for * @param params - Parameter values to substitute into the report template, keyed by parameter name * @returns The report definition and generated SQL string ready for execution * @throws {Error} If the report name is not found in the catalog or required parameters are missing */ export declare function buildCipReportSql(name: string, params: Record): CipReportSqlResult; /** * Executes a curated report query and returns decoded rows. * * @param client - The CIP client instance to execute the query with * @param reportName - The name of the curated report to execute * @param options - Report execution options including params and fetch size * @returns Promise resolving to the query result containing decoded rows and report metadata */ export declare function executeCipReport(client: CipClient, reportName: string, options: CipReportExecutionOptions): Promise;