export interface Query {
descendants: boolean;
first: boolean;
read: any;
isViewQuery: boolean;
selector: any;
}
export interface Attribute {
attributeName?: string;
}
export interface NgModule {
providers?: Provider[];
declarations?: Array<Type<any> | any[]>;
imports?: Array<Type<any> | ModuleWithProviders | any[]>;
exports?: Array<Type<any> | any[]>;
entryComponents?: Array<Type<any> | any[]>;
bootstrap?: Array<Type<any> | any[]>;
schemas?: Array<SchemaMetadata | any[]>;
id?: string;
}
export interface Output {
bindingPropertyName?: string;
}
export interface HostBinding {
hostPropertyName?: string;
}
export interface HostListener {
eventName?: string;
args?: string[];
}
export interface Input {
bindingPropertyName?: string;
}
export interface Pipe {
name: string;
pure?: boolean;
}
export interface Directive {
selector?: string;
inputs?: string[];
outputs?: string[];
host?: {
[key: string]: string;
};
providers?: Provider[];
exportAs?: string;
queries?: {
[key: string]: any;
};
}
export interface Component extends Directive {
changeDetection?: ChangeDetectionStrategy;
viewProviders?: Provider[];
moduleId?: string;
templateUrl?: string;
template?: string;
styleUrls?: string[];
styles?: string[];
animations?: any[];
encapsulation?: ViewEncapsulation;
interpolation?: [string, string];
entryComponents?: Array<Type<any> | any[]>;
preserveWhitespaces?: boolean;
}