/** Info about package side of mapping. */
type PackageItem = {
    /** Package name. */
    packageName: string | null;
    /** File name. */
    fileName: string;
};
/** Maps packages and folder paths for code views and files. */
declare class FolderAndPackageMapping {
    /** Packages stored by file folder paths. */
    private folderPathsToPackages;
    /** File folder paths stored by packages (Contains maps by package names. These maps store folder path + file name by file name.). */
    private packages;
    /**
     * Adds new mapping.
     * @param fileName File name.
     * @param folderPath Folder path (null can be used for root folder).
     * @param packageName Package name (null for default package).
     */
    add(fileName: string, folderPath: string | null, packageName: string | null): void;
    /**
     * Returns file folder path based on passed package name and file name.
     * @param packageName Package name (null for default package).
     * @param fileName File name.
     * @returns File folder path (folder path + file name).
     */
    getFileFolderPathByPackageItem(packageName: string | null, fileName: string): string | null;
    /**
     * Returns package item based on passed folder path and file name.
     * @param folderPath Folder path (null can be used for root folder).
     * @param fileName File name.
     * @returns Package item (info about package side of mappping: package name and file name).
     */
    getPackageItemByFileFolderPath(folderPath: string | null, fileName: string): PackageItem | null;
    /**
     * Removes mapping based on passed folder path and file name.
     * @param folderPath Folder path (null can be used for root folder).
     * @param fileName File name.
     * @returns Indicates whether mapping was successfully removed.
     */
    removeByFileFolderPath(folderPath: string | null, fileName: string): boolean;
    /**
     * Removes mapping based on passed package name and file name.
     * @param packageName Package name (null for default package).
     * @param fileName File name.
     * @returns Indicates whether mapping was successfully removed.
     */
    removeByPackageItem(packageName: string | null, fileName: string): boolean;
}
export default FolderAndPackageMapping;
