import type { AssetType } from '../enums/AssetType'; import { FolderType } from '../enums/FolderType'; import { InventoryItemFlags } from '../enums/InventoryItemFlags'; import { InventoryLibrary } from '../enums/InventoryLibrary'; import { InventoryType } from '../enums/InventoryType'; import type { Agent } from './Agent'; import { InventoryItem } from './InventoryItem'; import { UUID } from './UUID'; export declare class InventoryFolder { typeDefault: FolderType; version: number; name: string; folderID: UUID; parentID: UUID; items: InventoryItem[]; folders: InventoryFolder[]; cacheDir: string; agent: Agent; library: InventoryLibrary; private callbackID; private readonly inventoryBase; constructor(lib: InventoryLibrary, invBase: { owner?: UUID; skeleton: Map; root?: UUID; }, agent: Agent); getChildFolders(): InventoryFolder[]; getChildFoldersRecursive(): InventoryFolder[]; createFolder(name: string, type: FolderType): Promise; delete(saveCache?: boolean): Promise; removeItem(itemID: UUID, save?: boolean): Promise; addItem(item: InventoryItem, save?: boolean): Promise; populate(useCached?: boolean): Promise; uploadAsset(type: AssetType, inventoryType: InventoryType, data: Buffer, name: string, description: string, flags?: InventoryItemFlags): Promise; checkCopyright(creatorID: UUID): void; findFolder(id: UUID): InventoryFolder | null; uploadMesh(name: string, description: string, mesh: Buffer, confirmCostCallback: (cost: number) => Promise): Promise; private saveCache; private loadCache; private populateInternal; private uploadInventoryAssetLegacy; private uploadInventoryItem; private handleStandardInventoryUpload; }