import type { Writer } from './Writer';
import { PropertyFactory } from './PropertyFactory';
import { CharacterPoolDataElements } from './Arrays/CharacterPoolDataElements';
export declare class Packer {
    protected readonly writer: Writer;
    static types: Record<string, PropertyFactory<unknown>>;
    constructor(writer: Writer);
    writeFile(data: {
        state: Record<string, any>;
        data: CharacterPoolDataElements;
    }): void;
    writeProperties(obj: Record<string, any>): void;
    writeProperty(name: string, property: any, isArrayElement?: boolean): void;
}
