import { Observable } from 'rxjs';
import { RawFileEvent } from './types';
export declare class DocPageLoadersCompiler {
    private readonly configFileLocation;
    private readonly docPageLoadersFileLocation;
    private readonly silenced;
    private globPatterns;
    constructor(configFileLocation: string, docPageLoadersFileLocation: string, silenced?: boolean);
    runOnce(): Promise<void>;
    watch(): Observable<void>;
    handleFileEvents(obs: Observable<RawFileEvent>): Observable<void>;
    /**
     * Build an Observable that emits the initial list of file paths.
     * @private
     */
    private buildInitialFileEvent;
    /**
     * Generate an Observable of the raw file events.
     * @private
     */
    private buildWatcher;
    /**
     * Create the RawFileEvent from the chokidar event.
     *
     * @param rawFilePath The file that was modified
     * @param event The type of chokidar change
     * @private
     */
    private buildRawFileEvent;
    /**
     * Process a raw file event, adding loader string payloads.
     *
     * @param fileEvent The raw file event that describe which file(s)
     * is affected and what is happening.
     * @private
     */
    private addPayloadToEvent;
    private detectAndHandleDuplicateTitles;
    /**
     * Generate a file to hold the loader content.
     *
     * @param content The loader content generated from our path files
     * @private
     */
    private writeDynamicPageContentToFile;
    private log;
}
