import { Immutable } from './types/immutable'; interface StatefulServiceListener { (): void; } export declare abstract class StatefulService> { private listeners; private _state; constructor(initialState?: S); private assertIsInitialized; /** * A getter for the internal state. It will return the same internal state * object (=== is true), but typed as recursively immutable. */ get state(): IS; /** * Can be used to set state without triggering re-renders. * Should only be used in constructors this way. */ protected set state(state: S | IS); protected setState(newState: S | Partial): void; addListener(listener: StatefulServiceListener): void; removeListener(listener: StatefulServiceListener): void; } export {};