import type { FileHandle, TagLibModule } from "../wasm.js"; import type { AudioProperties, FileType, OpenOptions, PropertyMap } from "../types.js"; import type { MutableTag } from "./mutable-tag.js"; import type { TypedAudioFile } from "./audio-file-interface.js"; /** * Base implementation with core read/property operations. * Extended by AudioFileImpl to add save/picture/rating/extended methods. * * @internal Not exported from the public API. */ export declare abstract class BaseAudioFileImpl { protected readonly module: TagLibModule; protected fileHandle: FileHandle | null; protected cachedAudioProperties: AudioProperties | null; protected readonly sourcePath?: string; protected originalSource?: string | Uint8Array | ArrayBuffer | File; protected isPartiallyLoaded: boolean; protected readonly partialLoadOptions?: OpenOptions; constructor(module: TagLibModule, fileHandle: FileHandle, sourcePath?: string, originalSource?: string | Uint8Array | ArrayBuffer | File, isPartiallyLoaded?: boolean, partialLoadOptions?: OpenOptions); protected get handle(): FileHandle; getFormat(): FileType; isFormat(format: F): this is TypedAudioFile; tag(): MutableTag; audioProperties(): AudioProperties | undefined; properties(): PropertyMap; setProperties(properties: PropertyMap): void; getProperty(key: string): string | undefined; setProperty(key: string, value: string): void; isMP4(): boolean; getMP4Item(key: string): string | undefined; setMP4Item(key: string, value: string): void; removeMP4Item(key: string): void; isValid(): boolean; dispose(): void; [Symbol.dispose](): void; } //# sourceMappingURL=audio-file-base.d.ts.map