import { Observable } from "rxjs"; import { Auditor } from "./auditor"; import { PartialLogger } from "./logger"; import { Match } from "./match"; import { Deck, Notification, Plugin } from "./plugin"; import { Ctor, Options, Spy, Teardown } from "./spy-interface"; export declare class SpyCore implements Spy { private static spy_; private auditor_; private defaultLogger_; private maxLogged_; private plugins_; private pluginsSubject_; private teardown_; private tick_; private undos_; private warned_; constructor(options?: { [key: string]: any; audit?: number; defaultLogger?: PartialLogger; defaultPlugins?: boolean; global?: string; plugins?: Plugin[]; warning?: boolean; }); get auditor(): Auditor; get tick(): number; get undos(): Plugin[]; get version(): string; debug(match: Match, ...notifications: Notification[]): Teardown; find(ctor: Ctor): T | undefined; findAll(ctor: Ctor): T[]; findAll(): Plugin[]; flush(): void; let(match: Match, select: (source: Observable) => Observable, options?: Options): Teardown; log(tagMatch: Match, notificationMatch: Match, partialLogger?: PartialLogger): Teardown; log(tagMatch: Match, partialLogger?: PartialLogger): Teardown; log(partialLogger?: PartialLogger): Teardown; maxLogged(value: number): void; pause(match: Match): Deck; plug(...plugins: Plugin[]): Teardown; query(predicate: (record: { complete: boolean; error: any; incomplete: boolean; path: string; root: boolean; tag: string | undefined; type: string; unsubscribed: boolean; }) => boolean, partialLogger?: PartialLogger): void; show(match: Match, partialLogger?: PartialLogger): void; show(partialLogger?: PartialLogger): void; stats(partialLogger?: PartialLogger): void; teardown(): void; unplug(...plugins: Plugin[]): void; warn(logger: PartialLogger, message: any, ...args: any[]): void; warnOnce(logger: PartialLogger, message: any, ...args: any[]): void; private static coreSubscribe_; private detect_; }