export interface Directory {
    id: string;
    name: string;
    size: number;
    createdAt: string;
    updatedAt: string;
}
export interface Subdirectory {
    id: string;
    name: string;
    size: number;
    createdAt: string;
    updatedAt: string;
}
export interface FileInDirectory {
    id: string;
    name: string;
    size: number;
    contentType: string;
    directoryId: string;
    hash: string;
    isShared: boolean;
    createdAt: string;
    updatedAt: string;
}
export interface DirectoryReadResponse {
    directory: Directory;
    files: FileInDirectory[];
    subdirectories: Subdirectory[];
}
export interface CreateDirectoryRequest {
    directory_id?: string;
    name: string;
}
export interface UpdateDirectoryRequest {
    directory_id?: string;
    name?: string;
}
export interface DirectoryResponse {
    data: Directory | DirectoryReadResponse | null;
    message: string;
    meta: any;
    status: string;
}
export interface DirectoriesResponse {
    data: Directory[];
    message: string;
    meta: any;
    status: string;
}
export interface CreateDirectoryData {
    directory_id?: string;
    name: string;
}
export interface CreateDirectoryResponse {
    directory: Directory;
}
export interface ReadDirectoryResponse {
    directory: Directory;
    files: FileInDirectory[];
    subdirectories: Subdirectory[];
}
export interface UpdateDirectoryData {
    directory_id?: string;
    name?: string;
}
export interface UpdateDirectoryResponse {
    directory: Directory;
}
export interface DeleteDirectoryResponse {
    message: string;
}
