import * as utils from '../utils'; import * as siProtocol from '../siProtocol'; import * as storage from '../storage'; import { IRaceResultData } from './IRaceResultData'; export type SiCardType = { new (cardNumber: number): T; typeSpecificInstanceFromMessage: (message: siProtocol.SiMessage) => T | undefined; }; export interface ISiMainStation { sendMessage: (message: siProtocol.SiMessage, numResponses?: number, timeoutInMiliseconds?: number) => Promise; } export declare abstract class BaseSiCard { static NumberRange: typeof utils.NumberRange; static cardNumberRangeRegistry: utils.NumberRangeRegistry>; static resetNumberRangeRegistry(): void; static registerNumberRange(firstCardNumberInRange: number, firstCardNumberAfterRange: number, siCardType: SiCardType): void; static getTypeByCardNumber(cardNumber: number): SiCardType | undefined; static fromCardNumber(cardNumber: number): BaseSiCard | undefined; static detectFromMessage(message: siProtocol.SiMessage): BaseSiCard | undefined; mainStation?: ISiMainStation | undefined; raceResult: IRaceResultData & { cardNumber: number; }; storage: storage.ISiStorage; constructor(cardNumber: number); get cardNumber(): number; read(): Promise; getNormalizedRaceResult(): IRaceResultData; getMonotonizedRaceResult(): IRaceResultData; abstract typeSpecificRead(): Promise; confirm(): Promise; toDict(): IRaceResultData; toString(): string; } //# sourceMappingURL=BaseSiCard.d.ts.map