import { BaseFITMiddleware } from "./base.js";
import { FITDecoderMesgs, FITFileType, FITContext } from "./types.js";
export declare class PerformanceMiddleware extends BaseFITMiddleware {
    name: string;
    description: string;
    onParse(buffer: Buffer, context: FITContext): Promise<Buffer>;
    onExtractMessages(messages: FITDecoderMesgs, context: FITContext): Promise<FITDecoderMesgs>;
    onStructure(result: Partial<FITFileType>, context: FITContext): Promise<Partial<FITFileType>>;
    onComplete(result: FITFileType, context: FITContext): Promise<FITFileType>;
    onError(error: Error, context: FITContext): Promise<void>;
    private countMessages;
    private analyzeStructure;
    private getSummary;
}
export declare class ValidationMiddleware extends BaseFITMiddleware {
    name: string;
    description: string;
    onComplete(result: FITFileType, context: FITContext): Promise<FITFileType>;
    private validateFIT;
}
export declare class DataCleanupMiddleware extends BaseFITMiddleware {
    name: string;
    description: string;
    onStructure(result: Partial<FITFileType>, context: FITContext): Promise<Partial<FITFileType>>;
    private cleanupData;
}
export declare class FileInfoMiddleware extends BaseFITMiddleware {
    name: string;
    description: string;
    onExtractMessages(messages: FITDecoderMesgs, context: FITContext): Promise<FITDecoderMesgs>;
    private extractFileInfo;
}
export declare function registerDefaultMiddlewares(decoder: any): Promise<void>;
