export interface TargetDatabaseConnection { host: string; port: number; type: string; username?: string; password?: string; } export interface TargetDatabase { databaseId: string; name: string; /** Host-defined status string (e.g. "active"). */ status: string; } export interface TargetDatabaseDetails { connection: TargetDatabaseConnection; subscription: string; region: string; databaseSize: string; freeRam: string; version: string; } export declare const TARGET_DATABASE_STRATEGIES: readonly ["selection", "manual"]; export type TargetDatabaseStrategy = (typeof TARGET_DATABASE_STRATEGIES)[number]; export interface TargetDatabaseSelectionConfig { strategy: 'selection'; getTargetDatabases: () => Promise; getTargetDatabaseDetails: (databaseId: string) => Promise; redirectToDatabaseDetails?: (databaseId: string) => void; } export interface TargetDatabaseManualConfig { strategy: 'manual'; } export type TargetDatabaseCapabilityConfig = TargetDatabaseSelectionConfig | TargetDatabaseManualConfig;