import type { ResolvedConfig, ViteDevServer } from "vite";
import type { AutoDiscoveredFiles, ResolvedUserOptions, SerializableRecord, ResolvedUserConfig, SerializedUserOptions, Serializable } from "../types.js";
export declare function deserializeRegExp<T>(obj: T): Extract<T, SerializableRecord>;
export declare function processForSerialization<T>(obj: T): Extract<T, Serializable>;
export declare function serializeResolvedConfig<T extends ResolvedConfig = ResolvedConfig>(config: T, knownNonSerializableFunctions?: Set<string>): any;
export declare function serializeResolvedUserConfig<T extends ResolvedUserConfig>(config: T, knownNonSerializableFunctions?: Set<string>): Extract<SerializableRecord & Omit<T, "assetsInclude">, Serializable>;
export declare const serializedDevServerConfig: <T extends ViteDevServer["config"]>(config: T, customNonSerializableFunctions?: Set<string>) => Extract<SerializableRecord & Omit<T, "build" | "assetsInclude" | "getSortedPlugins" | "getSortedPluginHooks">, Serializable>;
export declare const serializedOptions: <T extends ResolvedUserOptions>(userOptions: T, autoDiscoveredFiles: AutoDiscoveredFiles, customNonSerializableFunctions?: Set<string>) => SerializedUserOptions;
//# sourceMappingURL=serializeUserOptions.d.ts.map