import type { EntitiesCatalogConfig } from '@redocly/config';
import type { LifecycleContext } from '../../../../types/plugins/common';
import type { BaseEntitiesExtractor } from './base.js';
import type { CatalogEntitiesService } from '../../database/catalog-entities-service.js';
import type { FileHashesService } from '../../../../persistence/file-hashes/services/file-hashes-service.js';
type FsEntitiesExtractorParams = {
    context: LifecycleContext;
    catalogEntitiesService: CatalogEntitiesService;
    fileHashesService?: FileHashesService;
    isDevMode: boolean;
    isFirstPluginRun: boolean;
    catalogConfig: EntitiesCatalogConfig;
};
export type FsChange = {
    event: 'add' | 'change' | 'unlink';
    path: string;
} | {
    event: 'code-updated';
};
export declare class FsEntitiesExtractor implements BaseEntitiesExtractor {
    #private;
    protected context: LifecycleContext;
    protected catalogEntitiesService: CatalogEntitiesService;
    constructor(params: FsEntitiesExtractorParams);
    extract(): Promise<void>;
}
export {};
//# sourceMappingURL=fs-entities-extractor.d.ts.map