import { KNativePointer } from "../../src/reexport-for-generated";
import { Es2pandaAstNodeType } from "./../Es2pandaEnums";
import { Es2pandaPropertyKind } from "./../Es2pandaEnums";
import { Expression } from "./Expression";
export declare class Property extends Expression {
    constructor(pointer: KNativePointer, astNodeType: Es2pandaAstNodeType);
    static create1Property(kind: Es2pandaPropertyKind, key: Expression | undefined, value: Expression | undefined, isMethod: boolean, isComputed: boolean): Property;
    static updateProperty(original?: Property, key?: Expression, value?: Expression): Property;
    static update1Property(original: Property | undefined, kind: Es2pandaPropertyKind, key: Expression | undefined, value: Expression | undefined, isMethod: boolean, isComputed: boolean): Property;
    get key(): Expression | undefined;
    /** @deprecated */
    setKey(key?: Expression): this;
    get value(): Expression | undefined;
    /** @deprecated */
    setValue(value?: Expression): this;
    get kind(): Es2pandaPropertyKind;
    /** @deprecated */
    setKind(kind: Es2pandaPropertyKind): this;
    get isMethod(): boolean;
    get isShorthand(): boolean;
    get isComputed(): boolean;
    get isAccessor(): boolean;
    get convertibleToPatternProperty(): boolean;
    protected readonly brandProperty: undefined;
}
export declare function isProperty(node: object | undefined): node is Property;
