import Mpeg4Box from "./mpeg4Box"; import Mpeg4BoxHeader from "../mpeg4BoxHeader"; import { ByteVector } from "../../byteVector"; import { File } from "../../file"; /** * This class extends {@link Mpeg4Box} to provide an implementation of a ISO/IEC 14496-12 FullBox. */ export default abstract class FullBox extends Mpeg4Box { private _version; private _flags; /** * Protected constructor to force construction via static functions. */ protected constructor(); /** * Initializes a new instance of {@link FullBox} with a provided header and handler * by reading the contents from a specified file. * @param header A {@link Mpeg4BoxHeader} object containing the header to use for the new instance. * @param file A {@link File} object to read the contents of the box from. * @param handlerType Type of the handler box object containing the handler that applies to the * new instance, or undefined if no handler applies. */ protected initializeFromHeaderFileAndHandler(header: Mpeg4BoxHeader, file: File, handlerType: ByteVector): void; /** * Initializes a new instance of {@link FullBox} with a provided header, version, and flags. * @param type A {@link ByteVector} object containing the four byte box type. * @param version A value containing the version of the new instance. * @param flags A value containing the flags for the new instance. */ protected initializeFromTypeVersionAndFlags(type: ByteVector, version: number, flags: number): void; /** * Gets the flags that apply to the current instance. */ get flags(): number; /** * Sets the flags that apply to the current instance. * @protected */ protected set flags(value: number); /** * Gets the version number of the current instance. */ get version(): number; /** * @inheritDoc * @internal */ renderBoxHeaders(): ByteVector[]; }