import { KNativePointer } from "../../src/reexport-for-generated";
import { AnnotatedExpression } from "./AnnotatedExpression";
import { Es2pandaAstNodeType } from "./../Es2pandaEnums";
import { Expression } from "./Expression";
import { TypeNode } from "./TypeNode";
export declare class ObjectExpression extends AnnotatedExpression {
    constructor(pointer: KNativePointer, astNodeType: Es2pandaAstNodeType);
    static createObjectExpression(nodeType: Es2pandaAstNodeType, properties: readonly Expression[], trailingComma: boolean): ObjectExpression;
    static updateObjectExpression(original: ObjectExpression | undefined, nodeType: Es2pandaAstNodeType, properties: readonly Expression[], trailingComma: boolean): ObjectExpression;
    get properties(): readonly Expression[];
    /** @deprecated */
    setProperties(propertiesList: readonly Expression[]): this;
    get isDeclaration(): boolean;
    get isOptional(): boolean;
    get hasMethodDefinition(): boolean;
    get convertibleToObjectPattern(): boolean;
    /** @deprecated */
    setDeclaration(): this;
    /** @deprecated */
    setOptional(optional_arg: boolean): this;
    get typeAnnotation(): TypeNode | undefined;
    /** @deprecated */
    setTsTypeAnnotation(typeAnnotation?: TypeNode): this;
    protected readonly brandObjectExpression: undefined;
}
export declare function isObjectExpression(node: object | undefined): node is ObjectExpression;
