import { Observable } from 'rxjs';
import type { NormalRequest, RelativeResolverOptions } from '../interface/resolver';
/**
 * consider request as file, just pass through, for convenience
 */
export declare function asFile(request: NormalRequest): Observable<NormalRequest>;
/**
 * condier request as standalone module, which means search by description file
 */
export declare type AsModuleOptions = Pick<RelativeResolverOptions, 'fs' | 'descriptionFiles' | 'mainFields'>;
export declare function asModule(request: NormalRequest, options: AsModuleOptions): Observable<NormalRequest>;
/**
 * consider request as directory, spread indexes
 */
export declare type AsDirectoryOptions = Pick<RelativeResolverOptions, 'fs' | 'mainFiles'>;
export declare function asDirectory(request: NormalRequest, options: AsDirectoryOptions): Observable<NormalRequest>;
