/// <reference types="node" />
import { ParserMapSchemas } from "../../types";
export default function buildSchemapackParser(dataStruct: ParserMapSchemas): {
    parser: {
        Encoder: {
            new (): {
                encode(packet: import("../../types").ParserPacket, callback: (result: any) => void): void;
                json(packet: import("../../types").ParserPacket): string;
                pack(packet: import("../../types").ParserPacket): string | Buffer;
            };
        };
        Decoder: {
            new (): {
                [x: string]: any;
                add(packet: string | Buffer): void;
                parseJSON(packet: string): void;
                parseBinary(packet: Buffer): void;
                destroy(): void;
                eventNames(): (string | symbol)[];
                listeners<T extends string | symbol>(event: T): ((...args: any[]) => void)[];
                listenerCount(event: string | symbol): number;
                emit<T_1 extends string | symbol>(event: T_1, ...args: any[]): boolean;
                on<T_2 extends string | symbol>(event: T_2, fn: (...args: any[]) => void, context?: any): any;
                addListener<T_3 extends string | symbol>(event: T_3, fn: (...args: any[]) => void, context?: any): any;
                once<T_4 extends string | symbol>(event: T_4, fn: (...args: any[]) => void, context?: any): any;
                removeListener<T_5 extends string | symbol>(event: T_5, fn?: ((...args: any[]) => void) | undefined, context?: any, once?: boolean | undefined): any;
                off<T_6 extends string | symbol>(event: T_6, fn?: ((...args: any[]) => void) | undefined, context?: any, once?: boolean | undefined): any;
                removeAllListeners(event?: string | symbol | undefined): any;
            };
            prefixed: string | boolean;
            readonly EventEmitter: import("eventemitter3").EventEmitterStatic;
        };
    };
    idmap: import("../../types").ParserIDMap;
    schemas: import("../../types").ParsersList;
};
