import MediaType from '../MediaType';
import fs from 'fs';
import MultipartFile from '../MultipartFile';
import MultipartConfig from '../../config/MultipartConfig';
export type ReadStatus = 'boundary' | 'header' | 'body' | 'after-boundary';
export default class MultipartSubpart {
    raw: number[];
    tempRaw: number[];
    name: string;
    mediaType: MediaType;
    filename: string;
    isFile: boolean;
    size: number;
    needTryBoundary: boolean;
    boundary: string;
    writter?: fs.WriteStream;
    headers: Record<string, string>;
    private readonly mediaRoot;
    private previousCode;
    status: ReadStatus;
    private maxFileSize;
    private chunkSize;
    get currentBuffer(): Buffer;
    constructor(boundary: string, config: MultipartConfig, raw: number[]);
    read(code: number): boolean;
    finish(encoding: BufferEncoding): {
        content: MultipartFile;
        promise: Promise<unknown>;
    } | {
        content: string;
        promise: any;
    };
    clearBuffer(): void;
    private checkBoundary;
    private tryWrite;
    private parseContentDisposition;
    parseSubpartHeader(content: string): boolean;
}
