export interface VaultStatus {
  initialized: boolean
  unlocked: boolean
}

export interface VaultCategory {
  id: string
  name: string
  description: string | null
  createdBy: string | null
  isPublic: boolean
  createdAt: string
  updatedAt: string
  accessLevel?: 'view' | 'edit' | 'admin' | null
}

export interface VaultCategoryPermission {
  id: string
  categoryId: string
  roleId: string | null
  userId: string | null
  accessLevel: 'traverse' | 'view' | 'edit' | 'admin'
  createdAt: string
}

export interface VaultEntry {
  id: string
  categoryId: string
  name: string
  username: string | null
  url: string | null
  notes: string | null
  hasSecret: boolean
  createdBy: string | null
  updatedBy: string | null
  createdAt: string
  updatedAt: string
}
