import { JsExpression } from '@jsonjoy.com/codegen/lib/util/JsExpression';
import { MsgPackEncoder } from '@jsonjoy.com/json-pack/lib/msgpack/MsgPackEncoder';
import { type KeyType, type ObjType, type Type } from '../../../type';
import { AbstractBinaryCodegen } from '../AbstractBinaryCodegen';
import type { CompiledBinaryEncoder, SchemaPath } from '../../types';
export declare class MsgPackCodegen extends AbstractBinaryCodegen<MsgPackEncoder> {
    static readonly get: (this: unknown, type: Type, name?: string | undefined) => CompiledBinaryEncoder;
    protected encoder: MsgPackEncoder<import("@jsonjoy.com/buffers/lib/Writer").Writer>;
    protected linkGet(): void;
    protected onObj(path: SchemaPath, value: JsExpression, type: ObjType): void;
    protected onKey(path: SchemaPath, r: JsExpression, type: KeyType<any, any>): void;
    protected genEncoder(type: Type): CompiledBinaryEncoder;
}
//# sourceMappingURL=MsgPackCodegen.d.ts.map