import { ResolvedConfig } from "../config";
import { Plugin } from "../plugin";
/** 为browser：false脚本做兜底 */
export declare const browserExternalId = "__joker-browser-external__";
export interface ResolveOptions {
    /**
     * 主入口字段，做兜底
     * @default ['browser','module', 'jsnext:main', 'jsnext']
     */
    mainFields?: string[];
    extensions?: string[];
}
export interface InternalResolveOptions extends ResolveOptions {
    isRequire?: boolean;
    /**
     * 保持系统路径
     */
    preserveSymlinks?: boolean;
    /**
     * 是否是需要解析url
     */
    asSrc?: boolean;
    isFromTsImport?: boolean;
    tryIndex?: boolean;
    tryPrefix?: string;
    skipPackageJson?: boolean;
    preferRelative?: boolean;
    scan?: boolean;
}
export type ResolveFn = (id: string, importer?: string) => Promise<string | undefined>;
export declare function resolvePlugin(option: InternalResolveOptions, config: ResolvedConfig): Plugin;
export declare function tryFsResolve(filename: string, options: InternalResolveOptions, tryIndex?: boolean): string | undefined;
