import { ErrorCorrection, FrameConfig, FrameConfigInitializer, FrameHistoryEntry, FrameInterface, FrameMode, RxTimeTickState, SelfReception, TxTimeTickState } from '@data-link-layer/model'; import { PhysicalLayerInterface } from '@physical-layer/model'; import { FixedSizeBuffer } from '@shared/fixed-size-buffer'; export declare class DataLinkLayer { readonly physicalLayer: PhysicalLayerInterface; rxErrorCorrection: ErrorCorrection; rxSelfReception: SelfReception; scrambleSequence: number[]; protected frameConfig: FrameConfig; protected rxFrameHistory: FixedSizeBuffer; protected rxRawBytesA: FixedSizeBuffer; protected rxRawBytesB: FixedSizeBuffer; protected rxRawBytesCounter: number; protected txFrame: FrameInterface; protected txRawBytesCounter: number; constructor(frameMode?: FrameMode); getFrameConfig(): FrameConfig; getRxBytesCollection(): number[][]; getRxBytesErrorCorrectedCollection(): number[][]; getTxGuardMilliseconds(): number; getTxProgress(): number; rxTimeTick(currentTime: number): RxTimeTickState; setFrameConfigInitializer(frameConfigInitializer: FrameConfigInitializer): void; setFrameMode(frameMode: FrameMode): void; setTxBytes(bytes: number[]): void; txTimeTick(currentTime: number): TxTimeTickState; protected getRxBytesCollectionFromFrameHistory(rxFrameHistoryFiltered: FrameHistoryEntry[]): number[][]; protected tryToFindValidFrame(frameCandidate: FrameInterface, isErrorCorrected: boolean): boolean; }