import type { Observable, Observer, Subscription } from "rxjs";
declare const _default: 0;
export default _default;
declare global {
    namespace JSX {
        type Value<T> = Observable<T | undefined> | T | undefined;
        type StringValue = Value<string>;
        type NumberValue = Value<number>;
        type BooleanValue = Value<boolean>;
        type DateValue = Value<Date>;
        type RefValue<T = DOMElement> = ((dom: T, sub: Subscription) => any) | Observer<{
            dom: T;
            sub: Subscription;
        }>;
        type $StyleValue = Value<Partial<CSSStyleDeclaration>>;
        /**
         * Nestable lists of class names compatible
         */
        type ClassNames = Value<{
            [className: string]: boolean;
        } | string[] | string | undefined | null | false> | {
            [className: string]: Value<boolean>;
        };
        type $ClassValue = ClassNames | ClassNames[];
        type AnyValue = $ClassValue | $StyleValue | BooleanValue | Children | DateValue | NumberValue | RefValue<any> | StringValue | ((this: DOMElement, event: any) => any) | null | undefined;
    }
}
//# sourceMappingURL=declare-values.d.ts.map