import { Observable } from 'rxjs';
import * as i0 from "@angular/core";
/**
 * Безопасная обёртка над `MutationObserver`, которая гарантирует,
 * что код не упадёт в средах, где `MutationObserver` недоступен
 * (например, серверный рендеринг или тесты без DOM).
 *
 * Если `MutationObserver` существует — используется он.
 * Если нет — используется заглушка с пустыми методами.
 */
export declare const SafeObserver: {
    new (callback: MutationCallback): MutationObserver;
    prototype: MutationObserver;
};
/**
 * Сервис `MutationObserverService` предоставляет поток `Observable<MutationRecord[]>`,
 * который эмитит записи изменений DOM для текущего элемента (`ElementRef`).
 *
 * Наблюдает за изменениями потомков, текстового содержимого и вложенных структур (`subtree: true`).
 *
 * Используется `SafeObserver`, чтобы гарантировать совместимость с SSR и тестовой средой.
 *
 * ⚠️ Важно: требует, чтобы `ElementRef` был доступен через DI-контекст (т.е. работает в компонентах/директивах).
 *
 * @example
 * this.mutationObserverService.subscribe(records => {
 *   console.log('Mutation detected!', records);
 * });
 */
export declare class MutationObserverService extends Observable<readonly MutationRecord[]> {
    constructor();
    static ɵfac: i0.ɵɵFactoryDeclaration<MutationObserverService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<MutationObserverService>;
}
