/// import { DirEntry, Resource, ResourceDir, ResourceType } from '../Types/Resources'; import { Logger } from '..'; declare type EncodedResource = Resource & { encodedData: Buffer; }; export declare function encodeV2Resource(volumeNumber: number, resource: Resource): EncodedResource; export declare function encodeV3Resource(volumeNumber: number, resource: Resource): EncodedResource; export declare function writeVolume(volumeNumber: number, resources: EncodedResource[]): [Buffer, DirEntry[]]; export declare function findLastIndex(array: Array, predicate: (value: T, index: number, obj: T[]) => boolean): number; export declare function buildResourceDir(entries: DirEntry[]): ResourceDir; export declare function writeV2Dir(entries: (DirEntry | undefined)[]): Buffer; export declare function writeV2DirFiles(outputPath: string, resourceDir: ResourceDir, logger: Logger): void; export declare function writeV3DirFile(outputPath: string, gameId: string, resourceDir: ResourceDir, logger: Logger): void; export declare function writeV2ResourceFiles(outputPath: string, resourceVolumes: (EncodedResource[] | undefined)[], logger: Logger): void; export declare function writeV3ResourceFiles(outputPath: string, gameId: string, resourceVolumes: (EncodedResource[] | undefined)[], logger: Logger): void; export declare type ExplicitVolumeSpecification = { number: number; resources: { resourceType: ResourceType; resourceNumber: number; }[]; }; export declare function encodeResourceVolumes(resources: Resource[], encode: (volumeNumber: number, resource: Resource) => EncodedResource, explicitVolumes: ExplicitVolumeSpecification[]): (EncodedResource[] | undefined)[]; export {};