import { OnChanges, SimpleChanges } from '@angular/core'; import { Observable, Subject } from 'rxjs'; import { SubscribeSink } from './subscribe-sink'; import * as i0 from "@angular/core"; /** * Extend this when creating a directive (including a component, which is a kind of directive) to gain access to the helpers demonstrated below. * * ```ts * @Component({ * selector: "app-color-text", * template: ` * {{ color }} * `, * changeDetection: ChangeDetectionStrategy.OnPush, * }) * class ColorTextComponent extends DirectiveSuperclass { * @Input() color: string; * * color$ = this.getInput$("color"); * } * ``` */ export declare abstract class DirectiveSuperclass extends SubscribeSink implements OnChanges { /** * Emits the set of `@Input()` property names that change during each call to `ngOnChanges()`. */ inputChanges$: Subject>; private onChangesRan$$; onChangesRan$: Observable; ngOnChanges(changes: SimpleChanges): void; /** * @return an observable of the values for one of this directive's `@Input()` properties */ getInput$(key: K): Observable; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; }