import * as _Object from './ion/Object';
import * as Node from './Node';
import * as Location from './Location';
import * as Null from './ion/Null';
import * as Expression from './Expression';
import * as Identifier from './Identifier';
import * as FunctionExpression from './FunctionExpression';
import * as String from './ion/String';
import * as Boolean from './ion/Boolean';
export declare class MethodDefinition implements _Object.Object, Node.Node {
    readonly location: Location.Location | Null.Null;
    readonly key: Expression.Expression | Identifier.Identifier;
    readonly value: FunctionExpression.FunctionExpression;
    readonly kind: String.String;
    readonly computed: Boolean.Boolean;
    readonly static: Boolean.Boolean;
    static readonly id = "MethodDefinition";
    static readonly implements: Set<string>;
    constructor({ location, key, value, kind, computed, static: _static }: {
        location?: Location.Location | Null.Null;
        key: Expression.Expression | Identifier.Identifier;
        value: FunctionExpression.FunctionExpression;
        kind?: String.String;
        computed?: Boolean.Boolean;
        static?: Boolean.Boolean;
    });
    patch(properties: {
        location?: Location.Location | Null.Null;
        key?: Expression.Expression | Identifier.Identifier;
        value?: FunctionExpression.FunctionExpression;
        kind?: String.String;
        computed?: Boolean.Boolean;
        static?: Boolean.Boolean;
    }): MethodDefinition;
    static is(value: any): value is MethodDefinition;
}
export declare function isMethodDefinition(value: any): value is MethodDefinition;
export default MethodDefinition;
