import { MapLike } from 'typescript';
export interface FileStats {
    path: string;
    extname: string;
    dirname: string;
    imports: ResolvedResult[];
}
export interface TraverseResult {
    unresolved: Map<string, string[]>;
    files: Map<string, FileStats>;
    modules: Set<string>;
}
export type ResolvedResult = {
    type: 'node_module';
    name: string;
    path: string;
} | {
    type: 'source_file';
    path: string;
} | {
    type: 'unresolved';
    path: string;
};
export declare function resolveImport(rawPath: string, cwd: string, config: TraverseConfig): ResolvedResult;
export declare const getResultObject: () => {
    unresolved: Map<string, string[]>;
    modules: Set<string>;
    files: Map<string, FileStats>;
};
export interface TraverseConfig {
    aliases: MapLike<string[]>;
    extensions: string[];
    assetExtensions: string[];
    moduleDirectory: string[];
    cacheId?: string;
    flow?: boolean;
    preset?: string;
    dependencies: MapLike<string>;
    pathTransforms?: MapLike<string>;
    root: string;
}
export declare function traverse(path: string | string[], config: TraverseConfig, result?: {
    unresolved: Map<string, string[]>;
    modules: Set<string>;
    files: Map<string, FileStats>;
}): Promise<TraverseResult>;
