import type { RMLTemplateExpression } from "../types/internal";
export interface ObserverSourceHandler {
    next: (value: unknown) => void;
}
export interface ObservatureSourceHandler extends ObserverSourceHandler {
}
/**
 * Checks whether the provided template expression is an Observer (Rx Subscribable)
 * @param expression a template expression to check
 * @returns is ObserverSourceHandler
 */
export declare const isObserverSource: (expression: RMLTemplateExpression) => expression is ObserverSourceHandler;
/**
 * A data source that connects to and feeds an Observer stream or RxJS Subject
 *
 * @param handler an Observer stream or RxJS Subject
 * @returns
 */
export declare const ObserverSource: (handler: ObserverSourceHandler) => (value: unknown) => void;
export declare const isObservatureSource: (expression: RMLTemplateExpression) => expression is ObservatureSourceHandler;
export declare const ObservatureSource: (handler: ObservatureSourceHandler) => ObservatureSourceHandler;
//# sourceMappingURL=observer-source.d.ts.map