export interface Interval { symbol: number; low: number; length: number; high: number; } export declare class Coder { protected probabilities_: number[]; protected low_: number; protected high_: number; protected underflow_: number; protected working_: number; protected intervals_: { [index: number]: Interval; }; protected total_: number; protected input_: number[]; protected output_: number[]; constructor(probs: number[]); static adjustProbs_: (probs: number[]) => number[]; } export declare class Encoder extends Coder { encode: (input: ArrayBuffer) => ArrayBuffer; private init_; private encodeSymbol_; private renormalize_; private flush_; private write_; } export declare class Decoder extends Coder { decode: (input: ArrayBuffer) => ArrayBuffer; private init_; private decodeSymbols_; private decodeSymbol_; private renormalize_; private update_; private flush_; }