import type Accessor from "../../core/Accessor.js"; import type { AbortOptions } from "../../core/promiseUtils.js"; /** * Metadata about a file that belongs to a model associated with a 3D object feature. * * @since 5.1 */ export default abstract class ModelFileInfo extends Accessor { /** * Path of the file within the model. Note that the path may include directory information. * * @default "" */ get name(): string; /** * File size in bytes. * * @default 0 */ get size(): number; /** * Downloads the file as an array buffer. * * Call this method when you need the actual file content. The [SceneLayer.queryModel()](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/#queryModel) and * [SceneLayer.queryModels()](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/#queryModels) methods return file metadata first, so you can inspect names and sizes * before downloading any bytes. * * @param options - Optional request options. * @returns Resolves to an array buffer containing the file content. */ arrayBuffer(options?: AbortOptions): Promise; }