/**
 * Database Manager - Supabase-like CLI with Drizzle-style migrations
 * Comprehensive database management for GFTD CLI
 */
import { DBInitOptions, MigrationOptions, GenerateOptions, SchemaOptions } from '../types';
export declare class DatabaseManager {
    private config;
    private migrationsPath;
    private schemasPath;
    private seedsPath;
    private configPath;
    constructor(configPath?: string);
    /**
     * プロジェクトのデータベース初期化 (supabase init相当)
     */
    init(options?: DBInitOptions): Promise<void>;
    /**
     * マイグレーション生成 (drizzle generate相当)
     */
    generateMigration(name?: string, options?: MigrationOptions): Promise<void>;
    /**
     * マイグレーション実行 (supabase migration up相当)
     */
    runMigrationsUp(options?: MigrationOptions): Promise<void>;
    /**
     * マイグレーション巻き戻し (supabase migration down相当)
     */
    runMigrationsDown(options?: MigrationOptions): Promise<void>;
    /**
     * マイグレーション状態表示 (supabase migration list相当)
     */
    listMigrations(): Promise<void>;
    /**
     * TypeScript型生成 (supabase gen types相当)
     */
    generateTypes(options?: GenerateOptions): Promise<void>;
    /**
     * スキーマプル (supabase db pull相当)
     */
    pullSchema(options?: SchemaOptions): Promise<void>;
    /**
     * スキーマプッシュ (supabase db push相当)
     */
    pushSchema(options?: SchemaOptions): Promise<void>;
    private loadDatabaseConfig;
    private getDefaultConfig;
    private createDirectoryStructure;
    private createConfigFile;
    private createSchemaTemplates;
    private createInitialMigration;
    private detectSchemaChanges;
    private createMigrationFile;
    private saveMigrationFile;
    private getPendingMigrations;
    private getAllMigrations;
    private getAppliedMigrations;
    private getDbConnection;
    private closeDbConnection;
    private executeMigration;
    private recordMigration;
    private removeMigrationRecord;
    private getSchemaInfo;
    private generateTypeDefinitions;
    private generateSchemaCode;
    private startTypeGenerationWatcher;
    private runSeeders;
    private confirmDangerousOperation;
}
//# sourceMappingURL=database-manager.d.ts.map