## API Report File for "@rushstack/webpack-workspace-resolve-plugin"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts

import type { Compiler } from 'webpack';
import { IPrefixMatch } from '@rushstack/lookup-by-path';
import { LookupByPath } from '@rushstack/lookup-by-path';
import type { WebpackPluginInstance } from 'webpack';

// @beta
export type IPathNormalizationFunction = ((input: string) => string) | undefined;

// @beta
export interface IResolveContext {
    descriptionFileRoot: string;
    findDependency(request: string): IPrefixMatch<IResolveContext> | undefined;
}

// @beta
export interface IResolverCacheFile {
    basePath: string;
    contexts: ISerializedResolveContext[];
}

// @beta
export interface ISerializedResolveContext {
    deps?: Record<string, number>;
    dirInfoFiles?: string[];
    name: string;
    root: string;
}

// @beta
export interface IWorkspaceLayoutCacheOptions {
    cacheData: IResolverCacheFile;
    resolverPathSeparator?: '/' | '\\';
}

// @beta
export interface IWorkspaceResolvePluginOptions {
    cache: WorkspaceLayoutCache;
}

// @beta
export class WorkspaceLayoutCache {
    constructor(options: IWorkspaceLayoutCacheOptions);
    readonly contextForPackage: WeakMap<object, IPrefixMatch<IResolveContext>>;
    readonly contextLookup: LookupByPath<IResolveContext>;
    // (undocumented)
    readonly normalizeToPlatform: IPathNormalizationFunction;
    // (undocumented)
    readonly normalizeToSlash: IPathNormalizationFunction;
    // (undocumented)
    readonly resolverPathSeparator: string;
}

// @beta
export class WorkspaceResolvePlugin implements WebpackPluginInstance {
    constructor(cache: WorkspaceLayoutCache);
    // (undocumented)
    apply(compiler: Compiler): void;
}

// (No @packageDocumentation comment for this package)

```
