import { ReaderLike } from './reader'; export interface TagHandler { decode: (...o: any) => any; type: 'scalar' | 'message'; isRepeat?: boolean; isMap?: boolean; name: string; isPacked?: boolean; } export declare const decodeMessage: (opts: { tagMap: Map; reader: ReaderLike; }) => T; export declare const defineMessage: (tagMap: Map) => (reader: ReaderLike) => T; export declare const defineMap: (opts: { keyReader: any; valueReader: any; valueType: "message" | "scalar"; }) => (reader: ReaderLike) => T;