import * as storage from './storage'; export declare const SI_TIME_CUTOFF = 43200; export declare const arr2date: (arr: number[], asOf?: Date) => Date | undefined; export declare const date2arr: (dateTime: Date) => number[]; export declare const arr2cardNumber: (arr: (number | undefined)[]) => number | undefined; export declare const cardNumber2arr: (cardNumber: number | undefined) => (number | undefined)[]; export interface SiMessageWithMode { mode: number; } export interface SiMessageWithoutMode { mode?: undefined; command: number; parameters: number[]; } export type SiMessage = SiMessageWithMode | SiMessageWithoutMode; export declare const prettyMessage: (message: SiMessage) => string; export declare const CRC16: (str: number[]) => [number, number]; export interface SiMessageParseResult { message: SiMessage | null; remainder: number[]; } export declare const parse: (inputData: number[]) => SiMessageParseResult; export interface SiMessagesParseResult { messages: SiMessage[]; remainder: number[]; } export declare const parseAll: (inputData: number[]) => SiMessagesParseResult; export declare const render: (message: SiMessage) => number[]; export declare class SiDate extends storage.SiDataType implements storage.ISiDataType { length: number; getByteOffsetAtIndex: (index: number) => number; private readonly arrayField; constructor(length: number, getByteOffsetAtIndex: (index: number) => number); typeSpecificIsValueValid(_value: Date): boolean; typeSpecificValueToString(value: Date): string; typeSpecificValueFromString(string: string): Date | storage.ValueFromStringError; typeSpecificExtractFromData(data: storage.ISiStorageData): Date | undefined; typeSpecificUpdateData(data: storage.ISiStorageData, newValue: Date): storage.ISiStorageData; } export type SiTimestamp = number | null; export declare class SiTime extends storage.SiDataType implements storage.ISiDataType { intParts: [[number], [number]] | undefined; private readonly intField; constructor(intParts: [[number], [number]] | undefined); typeSpecificIsValueValid(value: SiTimestamp): boolean; typeSpecificValueToString(value: SiTimestamp): string; typeSpecificValueFromString(string: string): SiTimestamp | storage.ValueFromStringError; typeSpecificExtractFromData(data: storage.ISiStorageData): SiTimestamp | undefined; typeSpecificUpdateData(data: storage.ISiStorageData, newValue: SiTimestamp): storage.ISiStorageData; } //# sourceMappingURL=siProtocol.d.ts.map