/**
 * データベーススキーマ管理
 */
import { TableMetadata } from '../types/EntityTypes';
export declare class Schema {
    private tables;
    /**
     * テーブルを追加
     */
    addTable(table: TableMetadata): void;
    /**
     * テーブルを取得
     */
    getTable(name: string): TableMetadata | undefined;
    /**
     * 全テーブルを取得
     */
    getAllTables(): TableMetadata[];
    /**
     * テーブルが存在するかチェック
     */
    hasTable(name: string): boolean;
    /**
     * テーブルを削除
     */
    dropTable(name: string): boolean;
    /**
     * CREATE TABLE SQLを生成
     */
    generateCreateTableSQL(tableName: string): string;
    /**
     * カラム定義をフォーマット
     */
    private formatColumnDefinition;
    /**
     * データ型をSQL型にマップ
     */
    private mapDataTypeToSQL;
    /**
     * デフォルト値をフォーマット
     */
    private formatDefaultValue;
    /**
     * スキーマをJSONに変換
     */
    toJSON(): any;
    /**
     * JSONからスキーマを復元
     */
    static fromJSON(json: any): Schema;
    /**
     * スキーマをクリア
     */
    clear(): void;
    /**
     * スキーマの統計情報を取得
     */
    getStats(): any;
}
