import { StorageError } from './errors';
import type { FilePath } from './file-system-types';
/**
 * File system storage error
 */
export declare class FileSystemStorageError extends StorageError<FilePath> {
    /**
     * Path parts
     */
    readonly pathParts: readonly string[];
    /**
     * Create file system storage error
     * @param message - error message
     * @param path - encoded path or path parts
     * @param pathParts - path parts relative to root
     */
    constructor(message: string, path: FilePath, pathParts: readonly string[]);
}
/**
 * File system storage error
 */
export declare class MalformedPathError extends FileSystemStorageError {
    /**
     * Create file system storage error
     * @param message - error message
     * @param path - encoded path or path parts
     * @param pathParts - path parts relative to root
     */
    constructor(message: string, path: FilePath, pathParts: readonly string[]);
}
/**
 * File system storage error
 */
export declare class NotNormalizedError extends FileSystemStorageError {
    /**
     * Normalized path
     */
    normalizedPath: string;
    /**
     * Create file system storage error
     * @param message - error message
     * @param path - encoded path
     * @param pathParts - path parts relative to root
     * @param normalizedPath - encoded path or path parts
     */
    constructor(message: string, path: string, pathParts: readonly string[], normalizedPath: string);
}
/**
 * File system storage error
 */
export declare class InvalidPathError extends FileSystemStorageError {
    /**
     * Create file system storage error
     * @param message - error message
     * @param path - encoded path or path parts
     * @param pathParts - path parts relative to root
     */
    constructor(message: string, path: FilePath, pathParts: readonly string[]);
}
/**
 * File system storage error
 */
export declare class ConsecutiveSlashesError extends FileSystemStorageError {
    /**
     * Create file system storage error
     * @param message - error message
     * @param path - encoded path or path parts
     * @param pathParts - path parts relative to root
     */
    constructor(message: string, path: FilePath, pathParts: readonly string[]);
}
/**
 * File system storage error
 */
export declare class IgnoredFileError extends FileSystemStorageError {
    /**
     * Create file system storage error
     * @param message - error message
     * @param path - encoded path or path parts
     * @param pathParts - path parts relative to root
     */
    constructor(message: string, path: FilePath, pathParts: readonly string[]);
}
/**
 * File system storage error
 */
export declare class ForbiddenCharacterError extends FileSystemStorageError {
    /**
     * Create file system storage error
     * @param message - error message
     * @param path - encoded path or path parts
     * @param pathParts - path parts relative to root
     */
    constructor(message: string, path: FilePath, pathParts: readonly string[]);
}
/**
 * File system storage error
 */
export declare class TrailingSlashError extends FileSystemStorageError {
    /**
     * Path parts (without trailing slash)
     */
    untrailedPathParts: readonly string[];
    /**
     * Create file system storage error
     * @param message - error message
     * @param path - encoded path or path parts
     * @param pathParts - path parts relative to root
     * @param untrailedPathParts - path parts relative to root (without trailing slash)
     */
    constructor(message: string, path: FilePath, pathParts: readonly string[], untrailedPathParts: readonly string[]);
}
/**
 * File system storage error
 */
export declare class IsDirectoryError extends FileSystemStorageError {
    /**
     * Resolved path
     */
    readonly resolvedPath: string;
    /**
     * Create file system storage error
     * @param message - error message
     * @param path - encoded path or path parts
     * @param pathParts - path parts
     * @param resolvedPath - resolved path
     */
    constructor(message: string, path: FilePath, pathParts: readonly string[], resolvedPath: string);
}
/**
 * File system storage error
 */
export declare class DoesNotExistError extends FileSystemStorageError {
    /**
     * Resolved path
     */
    readonly resolvedPath: string;
    /**
     * Create file system storage error
     * @param message - error message
     * @param path - encoded path or path parts
     * @param pathParts - path parts
     * @param resolvedPath - resolved path
     */
    constructor(message: string, path: FilePath, pathParts: readonly string[], resolvedPath: string);
}
