/// import { Archive } from '@shockpkg/archive-files'; /** * Projector constructor. * * @param path Output path. */ export declare abstract class Projector extends Object { /** * Path to hdiutil binary. */ hdiutil: string | null; /** * Output path. */ readonly path: string; constructor(path: string); /** * The movie appended marker. * * @returns Hex string. */ get movieAppendMarker(): string; /** * Get the player file or directory as an Archive instance. * * @param path File path. * @returns Archive instance. */ openAsArchive(path: string): Promise; /** * Write out projector with player and file. * * @param player Player path. * @param movieFile Movie file. */ withFile(player: string, movieFile: string | null): Promise; /** * Write out projector with player and data. * * @param player Player path. * @param movieData Movie data. */ withData(player: string, movieData: Readonly | null): Promise; /** * Check that output path is valid, else throws. */ protected _checkOutput(): Promise; /** * Append movie data to a file. * Format string characters: * - d: Movie data. * - m: Marker bytes. * - s: Size, 32LE. * - S: Size, 32BE. * - l: Size, 64LE. * - L: Size, 64BE. * * @param file File to append to. * @param data Movie data. * @param format Format string. */ protected _appendMovieData(file: string, data: Readonly, format: string): Promise; /** * Projector file extension. * * @returns File extension. */ abstract get extension(): string; /** * Write the projector player. * * @param player Player path. */ protected abstract _writePlayer(player: string): Promise; /** * Modify the projector player. */ protected abstract _modifyPlayer(): Promise; /** * Write out the projector movie file. * * @param movieData Movie data or null. */ protected abstract _writeMovie(movieData: Readonly | null): Promise; }