import { ExtensionDefinition, ExtensionStateFromDefinition } from './definition'; import { StateSubscriberOpts } from '../interfaces'; import { Reka } from '../reka'; export declare class Extension { reka: Reka; definition: D; state: ExtensionStateFromDefinition; constructor(reka: Reka, definition: D); init(): void; dispose(): void; subscribe>(collector: (state: D['state']) => C, subscriber: (collected: C, prevCollected: C | undefined) => void, opts?: StateSubscriberOpts): () => void; }