import { BehaviorSubject, Observable, Subject } from "rxjs"; import { IModuleDestroy, IModuleHook, IModuleOptions, Module } from "./module"; /** Module class with RxJS unsubscribe and state for usability. */ export declare class RxModule extends Module { /** Default module name. */ static readonly moduleName: string; /** Observable state with takeUntil, filter pipe applied. */ readonly rxState$: Observable; /** Internal observable subscription management. */ protected readonly rxUnsubscribe$: Subject; /** Internal observable state management. */ protected readonly rxStateRaw$: BehaviorSubject; constructor(options: IModuleOptions); moduleDown(...args: IModuleHook[]): Promise; moduleDestroy(...args: IModuleDestroy[]): void; /** Utility method for piping observable through takeUntil. */ rxTakeUntilModuleDown(observable$: Observable): Observable; /** Utility method for updating internal observable state. */ rxStateUpdate(value: Partial): Observable; }