declare type DirectiveRegister = (directive: Directive) => void; interface DirectiveOptions { targetNode: Element | HTMLElement; componentNode: Element | HTMLElement; attribute: Attr; expression: string | null; paths: string[]; } export interface Directive { attribute: string | ((attr: Attr) => any); process: (options: DirectiveOptions) => (Function & { sideEffect?: boolean; }) | void; registerAsGlobal?: (register: DirectiveRegister | undefined) => void; } export interface IDirectiveRegistry { register(directive: Directive): void; getDirectives(): Directive[]; } declare class DirectiveRegistry implements IDirectiveRegistry { private directives; register(directive: Directive): void; getDirectives(): Directive[]; } export declare const Registry: DirectiveRegistry; export {}; //# sourceMappingURL=directive.d.ts.map