import { Stream, MemoryStream } from 'xstream'; import { EventsFnOptions } from './DOMSource'; import { DocumentDOMSource } from './DocumentDOMSource'; import { BodyDOMSource } from './BodyDOMSource'; import { VNode } from 'snabbdom'; import { Scope, IsolateSink } from './isolate'; import { IsolateModule } from './IsolateModule'; import { EventDelegator } from './EventDelegator'; export interface SpecialSelector { body: BodyDOMSource; document: DocumentDOMSource; } export declare class MainDOMSource { private _rootElement$; private _sanitation$; private _namespace; _isolateModule: IsolateModule; private _eventDelegator; private _name; constructor(_rootElement$: Stream, _sanitation$: Stream, _namespace: Array, _isolateModule: IsolateModule, _eventDelegator: EventDelegator, _name: string); private _elements; elements(): MemoryStream>; element(): MemoryStream; readonly namespace: Array; select(selector: T): SpecialSelector[T]; select(selector: string): MainDOMSource; events(eventType: K, options?: EventsFnOptions, bubbles?: boolean): Stream; dispose(): void; isolateSource: (source: MainDOMSource, scope: string) => MainDOMSource; isolateSink: IsolateSink; }