import { ApplicationRef, ComponentRef, EnvironmentInjector, Injector, Type, ViewContainerRef, WritableSignal } from '@angular/core';
import { ExcludeFunctions, ExtractInputTypes, InferInputSignalType, ViewRef } from './types';
interface Options<Comp, Context> {
    component: Type<Comp>;
    injector: Injector;
    environmentInjector: EnvironmentInjector;
    vcr: ViewContainerRef | undefined;
    appRef: ApplicationRef | undefined;
    contextSignal?: WritableSignal<Context>;
}
export declare class CompRef<Comp, Context = any> implements ViewRef {
    private options;
    ref: ComponentRef<Comp>;
    constructor(options: Options<Comp, Context>);
    setInput<K extends keyof ExcludeFunctions<Comp>>(input: K, value: InferInputSignalType<Comp[K]>): this;
    setInputs(inputs: Partial<ExtractInputTypes<ExcludeFunctions<Comp>>>): this;
    detectChanges(): this;
    updateContext(context: Context): this;
    appendTo(container: Element): this;
    removeFrom(container: Element): this;
    getRawContent(): string;
    getElement<T extends Element>(): T;
    destroy(): void;
}
export {};
