export type FileEntry = {
    name: string
    path: string
    isDir: boolean
    size: number
    modifiedAt: number | null
    mimeType: string
}

export type Breadcrumb = {
    name: string
    path: string
}

export type ShareBrowseResult = {
    path: string
    breadcrumb: Breadcrumb[]
    entries: FileEntry[]
}

export type ShareSearchResult = {
    query: string
    entries: FileEntry[]
}

export type ShareStatus = {
    enabled: boolean
}

export type ShareSettings = {
    host: string | null
    shareName: string | null
    basePath: string | null
    domain: string | null
    username: string | null
    enabled: boolean
    hasPassword: boolean
}

export type ShareSettingsWrite = {
    host: string | null
    shareName: string | null
    basePath: string | null
    domain: string | null
    username: string | null
    password?: string | null
    enabled: boolean
}

export type ShareTestResult = {
    success: boolean
    message: string | null
}
