///
export declare function clone(source: any, target?: any): any;
/**
Search the codebase for @util.memoize or @memoize for usage examples.
*/
export declare function memoize(target: Object, propertyKey: string, descriptor: TypedPropertyDescriptor): TypedPropertyDescriptor;
export declare function checkArguments(argument_options: any[]): (target: Object, propertyKey: string, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor;
/**
Parse a string of hexadecimal characters by slicing off substrings that are
`byteLength`-long, and then using parseInt with a base of 16.
Returns an array of character codes, not a string.
*/
export declare function parseHexCodes(hexstring: string, byteLength: number): number[];
/**
Returns the character codes represented by the given buffer, read
{characterByteLength} bytes at a time.
*/
export declare function readCharCodes(buffer: Buffer, characterByteLength?: number): number[];
/**
Create a string from the given character code array using String.fromCharCode.
Each character code should be at most 16 bits, i.e., less than 65536.
*/
export declare function makeString(charCodes: number[]): string;
export declare class Multiset {
total: number;
elements: {
[index: string]: number;
};
constructor();
add(element: string): void;
get(element: string): number;
}
/**
Overwrite target with all indices that have defined values in source.
*/
export declare function mergeArray(target: T[], source: T[]): T[];
/**
Simpler special purpose version of something like https://github.com/substack/endian-toggle
*/
export declare function swapEndian(buffer: Buffer): Buffer;
/**
If a line ends with a hyphen, we remove the hyphen and join it to
the next line directly; otherwise, join them with a space.
Render each Paragraph into a single string with any pre-existing EOL
markers converted to spaces, and any control characters stripped out.
bag_of_words is used to look at the whole document for indicators of
intentionally hyphenated words. It should be all lowercase, and is usually an
instance of Multiset.
*/
export declare function unwrapLines(lines: string[], bag_of_words: {
get(token: string): number;
}): string;