import { Analyzer } from "./Analyzer.js"; import { Column } from "./Column.js"; type BlockMode = "none" | "column" | "primary" | "charset" | "comment" | "unique0" | "unique1" | "unique2" | "unique3" | "unique4" | "unique5" | "unique6" | "unique7" | "unique8" | "unique9" | "index0" | "index1" | "index2" | "index3" | "index4" | "index5" | "index6" | "index7" | "index8" | "index9"; export declare class Table { ana: Analyzer; id: string; mode: BlockMode; name: string; comment: string; charset: string; collate: string; columns: Column[]; primary: string[]; indexes: { [key: string]: string[]; }; uniques: { [key: string]: string[]; }; constructor(ana: Analyzer); get column(): Column | null; getColumnByID(id: string): Column | undefined; output(message: string): void; setTableID(value: string): void; setTableComment(value: string): void; setColumnID(value: string): void; setColumnName(name: string): void; setWrapperClass(name: string): void; setMode(mode: BlockMode): void; resetMode(): void; /** キャラクタセットと照合順序 */ setCharset(value: string): void; /** カラムに not null を設定する */ setNullable(value: boolean): void; /** カラムの型を設定する */ setColumnType(type: string, size: string): void; /** カラムのコメントを設定する */ setColumnComment(value: string): void; /** カラムのデフォルト値を設定する */ setColumnDefault(value: string): void; get sql(): string; /** * TypeScriptのコードを生成 */ ts(): string; } export {};