import { Request, Response } from 'express';
import { IFMRepository } from '../repositories/FMRepository';
export default class FMController {
    private readonly _fmRepository;
    private readonly _rootDirPath;
    constructor(_fmRepository: IFMRepository, _rootDirPath: string);
    private readonly _cacheDirName;
    private _checkPathStartsWithRoot;
    private _toAbsolutePath;
    private _sendError;
    getVersion: (_: Request, res: Response) => Promise<void>;
    dirList: (_: Request, res: Response) => Promise<void>;
    dirCreate: (req: Request, res: Response) => Promise<void>;
    dirRename: (req: Request, res: Response) => Promise<void>;
    dirDelete: (req: Request, res: Response) => Promise<void>;
    dirCopy: (req: Request, res: Response) => Promise<void>;
    dirMove: (req: Request, res: Response) => Promise<void>;
    dirDownload: (req: Request, res: Response) => Promise<void>;
    fileListPaged: (req: Request, res: Response) => Promise<void>;
    fileDelete: (req: Request, res: Response) => Promise<void>;
    fileCopy: (req: Request, res: Response) => Promise<void>;
    fileRename: (req: Request, res: Response) => Promise<void>;
    fileMove: (req: Request, res: Response) => Promise<void>;
    fileOriginal: (req: Request, res: Response) => Promise<void>;
    filePreview: (req: Request, res: Response) => Promise<void>;
}
