export declare const DEV_RUNTIME_SOURCE_DIRECTORY = "source";
export declare class DevelopmentRuntimeSourceSnapshotError extends Error {
    constructor(message: string);
}
export interface DevelopmentSourceSnapshotPlan {
    readonly appRoot: string;
    readonly copyFiles: readonly string[];
    readonly copyRoots: readonly string[];
    readonly runtimeAppRoot: string;
    readonly snapshotRoot: string;
    readonly snapshotSourceRoot: string;
    readonly sourceRoot: string;
    readonly symlinks: readonly DevelopmentSourceSnapshotSymlink[];
    readonly tsconfigPaths: readonly string[];
    readonly watchPaths: readonly string[];
}
export interface DevelopmentSourceSnapshotSymlink {
    readonly linkPath: string;
    readonly targetKind: "external" | "local";
    readonly targetPath: string;
}
export declare function createDevelopmentSourceSnapshotPlan(input: {
    readonly appRoot: string;
    readonly snapshotRoot: string;
}): Promise<DevelopmentSourceSnapshotPlan>;
export declare function resolveDevelopmentSourceSnapshotWatchPaths(appRoot: string): Promise<string[]>;
export declare function toDevelopmentSourceSnapshotPath(input: {
    readonly snapshotSourceRoot: string;
    readonly sourcePath: string;
    readonly sourceRoot: string;
}): string;
