import * as validate from "./validate"; import * as byte from "./byte"; import { Byte } from "../def"; export { validate, byte }; export declare function flatten(arr: Array>): Array; export declare function findFirst(arr: T[], predicate: (item: T, idx: number) => boolean, def: T): T; export declare function range(total: number): { err?: string; result?: number[]; }; export declare function parseAsciiStr(input: string): { result?: Byte[]; err?: string; }; export interface DirtyInfo { key: TKey; old: TVal; new: TVal; } export declare class DirtyTracker { private _tracker; private _equals; constructor(equals: (v1: TVal, v2: TVal) => boolean); track(key: TKey, oldval: TVal, newval: TVal): void; getDirtyInfo(): DirtyInfo[]; clear(): void; }