import type { WaveletConfig } from '@risingwave/wavelet'; export interface DdlAction { type: 'create' | 'update' | 'delete' | 'unchanged'; resource: 'event' | 'source' | 'query' | 'subscription'; name: string; detail?: string; } export declare class DdlManager { private connectionString; private client; constructor(connectionString: string); connect(): Promise; close(): Promise; /** * Sync all events, queries, and subscriptions to match the config. * Returns a list of actions taken. * Idempotent - safe to call multiple times. */ sync(config: WaveletConfig): Promise; private getExistingTables; private getExistingMaterializedViews; private getExistingSources; private getExistingSubscriptions; private tableHasDependentMVs; private createTable; private dropTable; private createMaterializedView; private dropMaterializedView; private createSubscription; private dropSubscription; private createCdcSource; } //# sourceMappingURL=ddl-manager.d.ts.map