import { ExportSQLFormat } from "../../interfaces/export"; import { DumpFile, DumpProps, DumpRelationalProps, Generator } from "../generator/generator"; import { DatasetResolver } from "../../../dataset-resolver/dataset-resolver"; import { RefColumnParser } from "./core/generators/fixer"; import { ChacaUtils } from "../../../utils"; import { DeclarationOnlyConfig, IndentConfig, SkipInvalidConfig, ZipConfig } from "../params"; import { FileCreator } from "../file-creator/file-creator"; export declare type SQLProps = ZipConfig & IndentConfig & SkipInvalidConfig & DeclarationOnlyConfig & { /** columns that will be converted to `PRIMARY KEYS` */ keys?: string[]; /** columns that will be converted to `UNIQUE` */ uniques?: string[]; /** columns that can accept null values */ nulls?: string[]; /** columns that will be converted to `FOREIGN KEYS` */ refs?: RefColumnParser[]; /** Generates a sequential id for tables that are created and for which no PRIMARY KEY is defined */ generateIds?: boolean; }; export declare class SQLGenerator extends Generator { private readonly utils; private readonly zip; private readonly indent; private readonly skipInvalid; private readonly declarationOnly; private readonly keys; private readonly uniques; private readonly nulls; private readonly refs; private readonly generateIds; constructor(utils: ChacaUtils, format: ExportSQLFormat, config: SQLProps); createRelationalFile(fileCreator: FileCreator, resolver: DatasetResolver): Promise; dumpRelational({ resolver, filename, }: DumpRelationalProps): Promise; dump({ data, filename }: DumpProps): DumpFile[]; createFile(fileCreator: FileCreator, data: any): Promise; }