///
import { Crazyflie } from '.';
import { TOC, TOCItem } from './toc';
import { EventEmitter } from 'events';
export declare class TOCFetcher extends EventEmitter {
private crazyflie;
type: TOC_TYPES;
fetched: boolean;
port: number;
toc: TOC;
readonly cachePath: string;
length: number;
crc: number;
maxPackets: number;
maxOperations: number;
/**
* Fetches TOC from the Crazyflie. Specify port because both parameters and logging use the same system
* (https://wiki.bitcraze.io/doc:crazyflie:crtp:log#table_of_content_access)
* (https://wiki.bitcraze.io/doc:crazyflie:crtp:param#toc_access)
*/
constructor(crazyflie: Crazyflie, type: TOC_TYPES);
start(): Promise;
handleTOCInfo(data: Buffer): Promise;
/**
* Loop through all TOC ids and see if we already have it. If not, retrieve it.
*/
private fetchRemainingTOCItems();
/**
* Fetch TOC item from the Crazyflie
* (https://wiki.bitcraze.io/doc:crazyflie:crtp:log#get_toc_item)
*/
private fetchTOCItem(id);
/**
* Handle TOC item response
* (https://wiki.bitcraze.io/doc:crazyflie:crtp:log#get_toc_item)
*/
handleTOCItem(data: Buffer): Promise;
/**
* Save a TOC to cache
*/
cacheTOC(crc: number, items: TOCItem[]): Promise;
/**
* Get TOC from cache according to cyclic redundancy check (checksum) value
* Will return null if no crc in cache
*/
getTOCFromCache(crc: number): Promise;
/**
* Gets the complete TOC cache
* Will return null if file doesn't exist or invalid JSON
*/
getTOCCache(): Promise;
/**
* Deletes cache
*/
clearCache(): Promise;
}
export declare const enum TOC_TYPES {
PARAM = 0,
LOG = 1,
}
export interface TOCCache {
[crc: number]: TOCItem[];
}