import { ByteVector } from "../byteVector"; import { File, ReadStyle } from "../file"; import { IFileAbstraction } from "../fileAbstraction"; import { Properties } from "../properties"; import { Tag, TagTypes } from "../tag"; export default class AiffFile extends File { /** * Identifier used to recognize an AIFF form type. */ static readonly AIFF_FORM_TYPE: ByteVector; /** * Identifier used to recognize an AIFF common chunk. */ static readonly COMM_IDENTIFIER: ByteVector; /** * Identifier used to recognize an AIFF file. */ static readonly FILE_IDENTIFIER: ByteVector; /** * Identifier used to recognize an AIFF ID3 chunk. */ static readonly ID3_IDENTIFIER: ByteVector; /** * Identifier used to recognize an AIFF sound data chunk. */ static readonly SOUND_IDENTIFIER: ByteVector; private _headerBlock; private _properties; private _tag; /** * Constructs and initializes a new instance of {@link AiffFile} for a specified file * abstraction and specified read style. * @param file File abstraction to use when reading and writing to the file * @param propertiesStyle Level of accuracy to read the media properties, or * {@link ReadStyle.None} to ignore the properties */ constructor(file: IFileAbstraction | string, propertiesStyle: ReadStyle); /** @inheritDoc */ get properties(): Properties; /** @inheritDoc */ get tag(): Tag; /** @inheritDoc */ getTag(type: TagTypes, create: boolean): Tag; /** @inheritDoc */ removeTags(types: TagTypes): void; /** @inheritDoc */ save(): void; private findChunk; private read; }