/// <reference path="../../adonis-typings/index.d.ts" />
/**
 * Path prefixer for resolving and prefixing paths for disk drivers
 */
export declare class PathPrefixer {
    /**
     * Separator used for dividing path segments is always unix-style forward slash
     */
    separator: "/";
    /**
     * Prefix used for path prefixing. Can be empty string for cloud drivers.
     */
    prefix: string;
    constructor(prefix?: string);
    /**
     * Normalize given path to always use `/` as separator and resolve relative paths using `.` and `..`.
     * It also guards against path traversal beyond the root.
     */
    normalizePath(path: string): string;
    /**
     * Ruturns normalized and prefixed location path.
     */
    prefixPath(location: string): string;
    /**
     * Ruturns normalized and prefixed location path for directory so always ending with slash.
     * Useful for cloud drivers prefix when listitng files.
     */
    prefixDirectoryPath(location: string): string;
    /**
     * Returns normalized path after stripping the current prefix from it.
     * It is a reverse operation of `prefixPath`.
     */
    stripPrefix(location: string): string;
    /**
     * Returns a new instance of `PathPrefixer` which is using as prefix stripped prefix from path of current `PathPrefixer`.
     */
    withStrippedPrefix(path: string): PathPrefixer;
    /**
     * Returns a new instance of `PathPrefixer` which is using as prefix current prefix merged with provided prefix.
     */
    withPrefix(prefix: string): PathPrefixer;
    /**
     * Returns a new instance of `PathPrefixer` which is using as prefix provided normalized path.
     */
    static fromPath(path: string): PathPrefixer;
}
