///
import { WellKnownMimeType } from "./WellKnownMimeType";
export declare class CompositeMetadata implements Iterable {
_buffer: Buffer;
constructor(buffer: Buffer);
iterator(): Iterator;
[Symbol.iterator](): Iterator;
}
export declare function encodeCompositeMetadata(metadata: Map Buffer)> | Array<[string | WellKnownMimeType | number, Buffer | (() => Buffer)]>): Buffer;
export declare function encodeAndAddCustomMetadata(compositeMetaData: Buffer, customMimeType: string, metadata: Buffer): Buffer;
export declare function encodeAndAddWellKnownMetadata(compositeMetadata: Buffer, knownMimeType: WellKnownMimeType | number, metadata: Buffer): Buffer;
export declare function decodeMimeAndContentBuffersSlices(compositeMetadata: Buffer, entryIndex: number): Buffer[];
export declare function decodeMimeTypeFromMimeBuffer(flyweightMimeBuffer: Buffer): string;
export declare function encodeCustomMetadataHeader(customMime: string, metadataLength: number): Buffer;
export declare function encodeWellKnownMetadataHeader(mimeType: number, metadataLength: number): Buffer;
export declare function decodeCompositeMetadata(buffer: Buffer): Generator;
export interface Entry {
/**
* Returns the un-decoded content of the {@link Entry}.
*
* @return the un-decoded content of the {@link Entry}
*/
readonly content: Buffer;
/**
* Returns the MIME type of the entry, if it can be decoded.
*
* @return the MIME type of the entry, if it can be decoded, otherwise {@code null}.
*/
readonly mimeType?: string;
}
export declare class ExplicitMimeTimeEntry implements Entry {
readonly content: Buffer;
readonly type: string;
constructor(content: Buffer, type: string);
}
export declare class ReservedMimeTypeEntry implements Entry {
readonly content: Buffer;
readonly type: number;
constructor(content: Buffer, type: number);
/**
* Since this entry represents a compressed id that couldn't be decoded, this is
* always {@code null}.
*/
get mimeType(): string;
}
export declare class WellKnownMimeTypeEntry implements Entry {
readonly content: Buffer;
readonly type: WellKnownMimeType;
constructor(content: Buffer, type: WellKnownMimeType);
get mimeType(): string;
}