///
import type { RemixConfig } from '@remix-run/dev/dist/config';
import type { ConfigRoute } from '@remix-run/dev/dist/config/routes';
import { EventEmitter } from 'events';
import ts from 'typescript/lib/tsserverlibrary';
import { LanguageServiceLogger } from './LanguageServiceLogger';
export interface Route {
path: string;
fileName: string;
relativeFileName: string;
params: string[];
}
export interface Runtime {
name: string;
typings: string;
}
export declare class RemixProject extends EventEmitter {
private logger;
private project;
root: string;
runtime?: Runtime;
config?: RemixConfig;
routes: Route[];
constructor(logger: LanguageServiceLogger, project: ts.server.Project);
load(): Promise;
ready(): boolean;
loadRoutes(): Route[];
watch(): void;
findRoutesByText(text: string): Route[];
findRoutesByFile(fileName: string): Route[];
detectRuntime(): Runtime | undefined;
parse(routes: ConfigRoute[]): string[];
}