import AdmZip from 'adm-zip'; import { GTFSFeedReaderBase } from './reader-base.js'; import type { GTFSFeedBase } from '../../feed/base'; import type { GTFSAsyncIterableFeed, GTFSIterableFeed } from '../../feed/iterable'; import type { GTFSLoadedFeed } from '../../feed/loaded'; import type { GTFSFileInfo } from '../../file-info'; import type { GTFSAsyncFileRecords, GTFSFileRecords } from '../../types'; /** * GTFS file object to read */ type GTFSFile = { /** File information */ info: GTFSFileInfo; /** File path */ path: string; }; /** * Feed reader with file IO operations. */ declare abstract class GTFSFeedReaderFromFileBase | Promise>> extends GTFSFeedReaderBase { /** Zip object */ protected zip?: AdmZip; /** File objects */ protected files?: GTFSFile[]; /** * The constructor * @param Directory Path to directory */ constructor(readPath: string); /** * Get records from an AdmZip entry. * @param info File information * @param entry Zip entry */ protected abstract getRecordsFromZipEntry(info: GTFSFileInfo, entry: AdmZip.IZipEntry): RecordsType; /** * Get records from file path. * @param info File information * @param path File path */ protected abstract getRecordsFromFilePath(info: GTFSFileInfo, path: string): RecordsType; getRecords(info: GTFSFileInfo): RecordsType | undefined; } /** * Synchronous Feed Reader from Local File */ export declare class GTFSFeedReader extends GTFSFeedReaderFromFileBase { /** * Generator of iterable chunks from a file path. * @param filePath File path * @returns Iterable file chunks */ private static readFileChunks; protected getRecordsFromZipEntry(info: GTFSFileInfo, entry: AdmZip.IZipEntry): GTFSFileRecords; protected getRecordsFromFilePath(info: GTFSFileInfo, path: string): GTFSFileRecords; getFeed(): GTFSIterableFeed; loadFeed(): GTFSLoadedFeed; } /** * Asynchronous Feed Reader from Local File */ export declare class GTFSAsyncFeedReader extends GTFSFeedReaderFromFileBase { /** * Generator of iterable chunks from a file path. * @param filePath File path * @returns Iterable file chunks */ private static readFileChunks; protected getRecordsFromZipEntry(info: GTFSFileInfo, entry: AdmZip.IZipEntry): GTFSAsyncFileRecords; protected getRecordsFromFilePath(info: GTFSFileInfo, path: string): GTFSAsyncFileRecords; getFeed(): GTFSAsyncIterableFeed; loadFeed(): Promise; } export {}; //# sourceMappingURL=reader-fs.d.ts.map