import { RegistryAccess } from '../registry/registryAccess';
import { ComponentSet } from '../collections/componentSet';
import { SourceComponent } from './sourceComponent';
import { TreeContainer } from './treeContainers';
/**
 * Resolver for metadata type and component objects.
 *
 * @internal
 */
export declare class MetadataResolver {
    private registry;
    private tree;
    private useFsForceIgnore;
    forceIgnoredPaths: Set<string>;
    private forceIgnore?;
    /**
     * @param registry Custom registry data
     * @param tree `TreeContainer` to traverse with
     * @param useFsForceIgnore false = use default forceignore entries, true = search and use forceignore in project
     */
    constructor(registry?: RegistryAccess, tree?: TreeContainer, useFsForceIgnore?: boolean);
    /**
     * Get the metadata component(s) from a file path.
     *
     * @param fsPath File path to metadata or directory
     * @param inclusiveFilter Set to filter which components are resolved
     */
    getComponentsFromPath(fsPath: string, inclusiveFilter?: ComponentSet): SourceComponent[];
    private getComponentsFromPathRecursive;
    private sortDirsFirst;
    private resolveComponent;
}
