import { TypeCodec } from './TypeCodec';
import { ArrayElementCodec } from './ArrayElementCodec';
/**
 * Central registry for property codecs and array element codecs used by readers/writers.
 */
export declare class CodecRegistry {
    private readonly types;
    private readonly arrays;
    constructor();
    registerArray(name: string, codec: ArrayElementCodec): this;
    registerType(codec: TypeCodec): this;
    getArray(name: string): ArrayElementCodec<unknown> | undefined;
    get(type: string, name: string): TypeCodec | undefined;
    resolveByValue<T>(value: T): TypeCodec<T> | undefined;
}
