import { JSONPgSmartTags } from 'graphile-utils'; import { BaseSmartTags, PgColumn, PgFkColumn, PgTable, TableSmartTags } from '../abstractions'; /** * Builds smart tags for FK constraints. * @param columns - Array of FK columns. */ export declare function buildFkConstraintSmartTags(columns: PgFkColumn[]): { [name: string]: BaseSmartTags; }; /** * Builds class (table) level smart tags. * @param tables - Array of tables. */ export declare function buildClassSmartTags(tables: PgTable[]): { [name: string]: TableSmartTags; }; /** * Builds smart tags for virtual FK columns. * @param virtualFks - Array of virtual FK columns. */ export declare function buildVirtualFkSmartTags(virtualFks: PgFkColumn[]): string[]; /** * Builds attribute (column) level smart tags. * @param columns - Array of PgColumns. */ export declare function buildAttributeSmartTags(columns: PgColumn[]): { [name: string]: BaseSmartTags; }; export declare function snakeCaseToCamelCase(input: string): string; /** * Generates a smart tags plugin file. * @param tags - Smart tags configuration. * @param outPath - Output path where the plugin will be written. */ export declare function generateSmartTagsPlugin(tags: JSONPgSmartTags, outPath: string): void;