export interface VaultServer { id: string; name: string; url: string; description?: string; kvVersion?: 1 | 2; // KV secret engine version (default: 2) } export interface VaultCredentials { serverId: string; token?: string; username?: string; password?: string; authMethod: 'token' | 'userpass' | 'ldap'; } export interface MountPoint { path: string; type: string; description: string; accessor: string; config: { default_lease_ttl: number; max_lease_ttl: number; }; options: { version?: string; } | Record; } export interface VaultConnection { server: VaultServer; credentials: VaultCredentials; isConnected: boolean; lastConnected?: Date; mountPoints?: MountPoint[]; } export interface VaultSecret { path: string; data: Record; metadata?: { created_time: string; deletion_time: string; destroyed: boolean; version: number; }; }