import { Environment, ResolvedConfig } from "vite";
export type ConfigurableEsbuildOptions = Record<string, unknown>;
type Resolver = (context: {}, path: string, request: string, resolveContext: {}, callback: (err: Error | null, result?: string | false) => void) => void;
export declare function resolveModuleWithEnvironment({ path, importer, importerEnv, clientResolver, workerResolver, }: {
    path: string;
    importer?: string;
    importerEnv: "client" | "worker";
    clientResolver: Resolver;
    workerResolver: Resolver;
}): Promise<{
    id: string;
} | null>;
export declare function classifyModule({ contents, inheritedEnv, }: {
    contents: string;
    inheritedEnv: "client" | "worker";
}): {
    moduleEnv: "client" | "worker";
    isClient: boolean;
    isServer: boolean;
};
export type EsbuildLoader = "js" | "jsx" | "ts" | "tsx" | "default";
export declare const runDirectivesScan: ({ rootConfig, environments, clientFiles, serverFiles, entries: initialEntries, esbuildOptions, }: {
    rootConfig: ResolvedConfig;
    environments: Record<string, Environment>;
    clientFiles: Set<string>;
    serverFiles: Set<string>;
    entries?: string[];
    esbuildOptions: ConfigurableEsbuildOptions;
}) => Promise<void>;
export {};
