export declare type DbDriver = 'MySQL' | 'Postgres' | 'Oracle' | 'SQLServer' | 'MSSQL'; export interface DbConfigDialogValue { connectionName: string; driver: DbDriver; host: string; port: number; database: string; username: string; /** Plain-text password. Empty string in edit mode means "leave existing password unchanged". */ password: string; } export interface DbConfigTestResult { status: 'success' | 'failure'; message: string; } export interface NewDbConfigDialogInputs { mode?: 'create' | 'edit'; initialValue?: Partial; existingNames?: string[]; envName?: string; /** * Optional async callback for the in-form "Test connection" button. When the * user clicks Test, the dialog calls this with the current form value and * renders the resulting status banner. If absent, the Test button is hidden. */ testFn?: (value: DbConfigDialogValue) => import('rxjs').Observable; }