import type { GTFSTableName } from '../file-info.d.ts'; import type { GTFSAgency } from '../files/agency.d.ts'; import type { GTFSArea } from '../files/area.d.ts'; import type { GTFSAttribution } from '../files/attribution.d.ts'; import type { GTFSCalendar } from '../files/calendar.d.ts'; import type { GTFSCalendarDate } from '../files/calendar-date.d.ts'; import type { GTFSFareAttribute } from '../files/fare-attribute.d.ts'; import type { GTFSFareLegRule } from '../files/fare-leg-rule.d.ts'; import type { GTFSFareMedia } from '../files/fare-media.d.ts'; import type { GTFSFareProduct } from '../files/fare-product.d.ts'; import type { GTFSFareRule } from '../files/fare-rule.d.ts'; import type { GTFSFareTransferRule } from '../files/fare-transfer-rule.d.ts'; import type { GTFSFeedInfo } from '../files/feed-info.d.ts'; import type { GTFSFrequency } from '../files/frequency.d.ts'; import type { GTFSLevel } from '../files/level.d.ts'; import type { GTFSNetwork } from '../files/network.d.ts'; import type { GTFSPathway } from '../files/pathway.d.ts'; import type { GTFSRoute } from '../files/route.d.ts'; import type { GTFSRouteNetwork } from '../files/route-network.d.ts'; import type { GTFSShape } from '../files/shape.d.ts'; import type { GTFSStop } from '../files/stop.d.ts'; import type { GTFSStopArea } from '../files/stop-area.d.ts'; import type { GTFSStopTime } from '../files/stop-time.d.ts'; import type { GTFSTimeframe } from '../files/timeframe.d.ts'; import type { GTFSTransfer } from '../files/transfer.d.ts'; import type { GTFSTranslation } from '../files/translation.d.ts'; import type { GTFSTrip } from '../files/trip.d.ts'; import type { GTFSAsyncFileRecords, GTFSFileRecords, GTFSFileRow, GTFSIterableFeedFiles } from '../types.d.ts'; /** Records Generic Type: R to be collection type, and T to be row type */ type RT = R extends GTFSFileRow[] ? T[] : R extends GTFSFileRecords ? GTFSFileRecords : R extends GTFSAsyncFileRecords ? GTFSAsyncFileRecords : Iterable; /** * Base Feed class */ export declare abstract class GTFSFeedBase { /** Transit agencies with service represented in this dataset. */ agency: RT; /** Stops where vehicles pick up or drop off riders. */ stops: RT; /** Transit routes. A route is a group of trips that are displayed to riders as a single service. */ routes: RT; /** Trips for each route. */ trips: RT; /** Times that a vehicle arrives at and departs from stops for each trip. */ stop_times: RT; /** Service dates specified using a weekly schedule with start and end dates. */ calendar?: RT; /** Exceptions for the services defined in the `calendar.txt`. */ calendar_dates?: RT; /** Fare information for a transit agency's routes. */ fare_attributes?: RT; /** Rules to apply fares for itineraries. */ fare_rules?: RT; /** Date and time periods to use in fare rules for fares that depend on date and time factors. */ timeframes?: RT; /** To describe the fare media that can be employed to use fare products. */ fare_media?: RT; /** To describe the different types of tickets or fares that can be purchased by riders. */ fare_products?: RT; /** Fare rules for individual legs of travel. */ fare_leg_rules?: RT; /** Fare rules for transfers between legs of travel. */ fare_transfer_rules?: RT; /** Area grouping of locations. */ areas?: RT; /** Rules to assign stops to areas. */ stop_areas?: RT; /** Network grouping of routes. */ networks?: RT; /** Rules to assign routes to networks. */ route_networks?: RT; /** Rules for mapping vehicle travel paths, sometimes referred to as route alignments. */ shapes?: RT; /** Headway (time between trips) for headway-based service or a compressed representation of fixed-schedule service. */ frequencies?: RT; /** Rules for making connections at transfer points between routes. */ transfers?: RT; /** Pathways linking together locations within stations. */ pathways?: RT; /** Levels within stations. */ levels?: RT; /** Translations of customer-facing dataset values. */ translations?: RT; /** Dataset metadata, including publisher, version, and expiration information. */ feed_info?: RT; /** Dataset attributions. */ attributions?: RT; /** * Constructor * @param initialValues Initial values * @param emptyValue Default empty values of RecordsType for required table but not defined in initialValues */ protected constructor(initialValues: Partial>>, emptyValue: () => RecordsType); /** * Set table records. * @param name Table name * @param records Value */ setTable(name: GTFSTableName, records: RT): void; /** * Get table records. * @param name Table name * @returns RecordsType */ getTable(name: GTFSTableName): RecordsType | undefined; /** * Get iterator for all existing tables. */ getAllTables(): GTFSIterableFeedFiles>; } export {}; //# sourceMappingURL=base.d.ts.map