import { ComponentRef } from '@angular/core';
import { Observable } from 'rxjs';
import * as i0 from "@angular/core";
/** @public */
export declare abstract class ComponentIO {
    abstract setInput<T, K extends ComponentInputKey<T>>(componentRef: ComponentRef<T>, name: K, value: T[K]): void;
    abstract getOutput<T, K extends ComponentInputKey<T>>(componentRef: ComponentRef<T>, name: K): Observable<unknown>;
    static ɵfac: i0.ɵɵFactoryDeclaration<ComponentIO, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ComponentIO>;
}
/** @public */
export declare type ComponentInputKey<T> = keyof T & string;
//# sourceMappingURL=component-io.d.ts.map