import { ObjectModifierStrategy } from '../types/mod.types';
type PartialExpression = {
    type: 'partial';
    content: string;
};
type PrimitiveExpression = {
    type: 'primitive';
    content: string;
};
type VariableExpression = {
    type: 'variable';
    name: string;
    partial?: string;
    valueType: 'object' | 'array';
    tree: Expression[];
};
type PropertyExpression = {
    type: 'property';
    name: string;
    valueType: 'object' | 'array' | 'primitive';
    tree: Expression[];
};
type ValueExpression = {
    type: 'value';
    valueType: 'object' | 'array' | 'primitive';
    tree: Expression[];
};
type Expression = PartialExpression | VariableExpression | PropertyExpression | PrimitiveExpression | ValueExpression;
export declare class JsObjectParser {
    tree: Expression[];
    constructor(content?: string);
    parse(content: string): void;
    private _parseRootObject;
    private _parse;
    stringify(): string;
    private _stringifyTree;
    private _stringifyExpr;
    private _stringifyArray;
    private _stringifyObject;
    merge(object: Record<string, any>, opts?: {
        insert?: number;
        strategy?: ObjectModifierStrategy;
    }): void;
    private _merge;
    private _objectToExpr;
    private _objectToEmptyExpr;
}
export {};
