import * as ts from 'typescript'; import { NgWalker } from '../angular/ngWalker'; import { IOptions } from 'tslint'; import { ComponentMetadata } from '../angular/metadata'; import { F1, F2, Maybe } from '../util/function'; import { Failure } from './walkerFactory'; export declare type Validator = NodeValidator | ComponentValidator; export declare type ValidateFn = F2>; export declare type WalkerOptions = any; export interface NodeValidator { kind: 'Node'; validate: ValidateFn; } export interface ComponentValidator { kind: 'NgComponent'; validate: ValidateFn; } export declare function validate(syntaxKind: ts.SyntaxKind): F1, NodeValidator>; export declare function validateComponent(validate: F2>): ComponentValidator; export declare function all(...validators: Validator[]): F2;