///
import { TypedStreamReader } from "./stream";
import './types/foundation';
import { BPlistReader } from "./bplist";
export declare class TypedGroup {
encodings: Array;
values: Array;
constructor(encodings: Array, values: Array);
}
export declare class TypedValue extends TypedGroup {
get encoding(): string;
get value(): any;
constructor(encoding: string, value: any);
}
export declare class CArray {
elements: Array;
constructor(elements: Array);
}
export declare class CClass {
name: string;
version: number;
superclass?: any;
constructor(name: string, version: number, superclass?: any);
}
export declare class GenericArchivedObject {
clazz: CClass;
contents: TypedGroup[];
constructor(clazz: CClass, contents: TypedGroup[]);
}
export declare class Unarchiver {
reader: TypedStreamReader | BPlistReader;
binaryDecoding: Unarchiver.BinaryDecoding;
private sharedObjectTable;
constructor(reader: TypedStreamReader | BPlistReader, binaryDecoding?: Unarchiver.BinaryDecoding);
static open(data: Buffer, binaryDecoding?: Unarchiver.BinaryDecoding): Unarchiver;
private lookupReference;
decodeAnyUntypedValue(expectedEncoding: string): any;
decodeTypedValues(lookahead?: any): TypedGroup;
decodeValuesOfTypes(typeEncodings: string[]): any;
decodeValueOfType(typeEncoding: string): any;
decodeArray(elementTypeEncoding: string, length: number): CArray;
decodeDataObject(): any[];
decodeAll(): [any] | TypedGroup[];
decodeSingleRoot(): any;
}
export declare namespace Unarchiver {
enum BinaryDecoding {
all = 0,
decodable = 1,
none = 2
}
}