/** * Types of bundle attributes * @enum {string} */ declare enum BundleAttributeType { SYSTEM = 'System', PUBLIC = 'Public', PRIVATE = 'Private', } declare interface Options { path: string; readonly?: boolean; } /** * */ declare interface AggregionBundle { /** * * @param options */ new (options: Options); /** * Returns list of files in the bundle * @return {Promise.} * @return */ getFiles(): Promise; /** * Returns bundle info data * @return {Promise.} */ getBundleInfoData(): Promise; /** * Sets bundle info data * @param {Buffer|string} data * @return {Promise} * @param data * @return */ setBundleInfoData(data : Buffer | string): Promise; /** * Returns bundle properties data * @return {Promise.} */ getBundlePropertiesData(): Promise; /** * Sets bundle properties data * @param {Buffer|string} data * @return {Promise} * @param data * @return */ setBundlePropertiesData(data : Buffer | string): Promise; /** * Creates a new file * @param {string} path Path to the file in the bundle * @return {Promise.} File descriptor * @param path * @return */ createFile(path : string): number; /** * Opens an existent file * @param {string} path Path to the file in the bundle * @return {number} File descriptor * @param path * @return */ openFile(path : string): number; /** * Deletes the file * @param {string} path Path to the file in the bundle * @param path */ deleteFile(path : string): void; /** * Returns size of the file * @param {string} path Path to the file in the bundle * @return {number} * @param path * @return */ getFileSize(path : string): number; /** * Move to position in the file * @param {number} fd File descriptor * @param {number} position Position in the file to seek (in bytes) * @param fd * @param position */ seekFile(fd : number, position : number): void; /** * Reads a block of data from the file * @param {number} fd File descriptor * @param {number} size Size of block to read * @return {Promise.} Block data * @param fd * @param size */ readFileBlock(fd : number, size : number): void; /** * Reads attributes data from file * @param {number} fd File descriptor * @return {Promise.} Attributes data * @param fd */ readFilePropertiesData(fd : number): void; /** * Writes block of data to the file * @param {number} fd File descriptor * @param {Buffer|string} data Data to write * @return {Promise} * @param fd * @param data * @return */ writeFileBlock(fd : number, data : Buffer | string): Promise; /** * Writes file attributes * @param {number} fd File descriptor * @param {Buffer|string} data Data to write * @return {Promise} * @param fd * @param data * @return */ writeFilePropertiesData(fd : number, data : Buffer | string): Promise; /** * Closes the bundle */ close(): void; /** * Opens file for read or write * @param {string} path Path to file in the bundle * @param {boolean} [create=false] If "true", then file will be created * @return {number} File descriptor * @private * @param path * @param create? * @return */ _openFile(path : string, create? : boolean): number; /** * Writes attribute to bundle * @param {BundleAttributeType} type Type of attribute * @param {Buffer|string} data Data to write * @return {Promise} * @private * @throws {Error} Will throw if invalid arguments passed * @param type * @param data * @return */ _writeBundleAttribute(type : BundleAttributeType, data : Buffer | string): Promise; /** * Reads attribute from bundle * @param {BundleAttributeType} type * @return {Promise.} * @private * @param type */ _readBundleAttribute(type : BundleAttributeType): Promise; /** * Checks that bundle is not closed * @private */ _checkNotClosed(): void; } declare module '@aggregion/agg-bundle' { const AggregionBundle:AggregionBundle; export default AggregionBundle; }