interface Mammoth {
    convertToHtml: (input: Input, options?: Options) => Promise;
    extractRawText: (input: Input) => Promise;
    embedStyleMap: (input: Input, styleMap: string) => Promise<{toBuffer: () => Buffer}>;
    images: Images;
}
type Input = NodeJsInput | BrowserInput;
type NodeJsInput = PathInput | BufferInput;
interface PathInput {
    path: string;
}
interface BufferInput {
    buffer: Buffer;
}
type BrowserInput = ArrayBufferInput;
interface ArrayBufferInput {
    arrayBuffer: ArrayBuffer;
}
interface Options {
    styleMap?: string | Array;
    includeEmbeddedStyleMap?: boolean;
    includeDefaultStyleMap?: boolean;
    convertImage?: ImageConverter;
    ignoreEmptyParagraphs?: boolean;
    idPrefix?: string;
}
interface ImageConverter {
    __mammothBrand: "ImageConverter";
}
interface Image {
    contentType: string;
    read: ImageRead;
}
interface ImageRead {
    (): Promise;
    (encoding: string): Promise;
}
interface ImageAttributes {
    src: string;
}
interface Images {
    dataUri: ImageConverter;
    imgElement: (f: (image: Image) => Promise) => ImageConverter;
}
interface Result {
    value: string;
    messages: Array;
}
type Message = Warning | Error;
interface Warning {
    type: "warning";
    message: string;
}
interface Error {
    type: "error";
    message: string;
    error: unknown;
}
declare const mammoth: Mammoth;
export = mammoth;