import { DirectiveSchema, JSExpression } from '../types';
import { Node } from './Node';
export declare class Directive {
    owner: Node;
    name?: string;
    arg?: string | JSExpression;
    modifiers?: Record<string, boolean> | JSExpression;
    value?: JSExpression;
    extend?: Record<string, any>;
    constructor(owner: Node, scheam: DirectiveSchema);
    update(scheam: DirectiveSchema): void;
    getSchema(): {
        name: string | undefined;
        arg: string | JSExpression | undefined;
        modifiers: JSExpression | Record<string, boolean> | undefined;
        value: JSExpression | undefined;
        extend: Record<string, any> | undefined;
    };
}
