import { User } from './user'

export interface Organization {
    uuid: string
    name: string
    description: string
    owner: User
    created_at: string
    updated_at: string
    member_count?: number
    role_count?: number
}

export interface Role {
    uuid: string
    name: string
    description?: string
    organization: Organization
    member_count?: number
    created_at: string
    updated_at: string
}

export interface InviteToken {
    uuid: string
    invite_url: string
    created_by: User
    organization: Organization
    is_active: boolean
    expires_at: string
    is_valid: boolean
    max_uses?: number
    uses?: number
}
export interface TrainingFile {
    uuid: string
    role: Role
    uploaded_by: User
    file: string
    file_name: string
    file_size: number
    file_type: string
    description: string
    is_processed: boolean
    status: 'ingesting' | 'chunked' | 'embedded' | 'failed'
    file_url: string
    created_at: string
    updated_at: string
}
