export type PathTypeFunction = (path: string) => Promise<boolean>;

/**
Check whether the passed `path` is a file.

@param path - The path to check.
@returns Whether the `path` is a file.
*/
export const isFile: PathTypeFunction;

/**
Check whether the passed `path` is a directory.

@param path - The path to check.
@returns Whether the `path` is a directory.
*/
export const isDirectory: PathTypeFunction;

/**
Check whether the passed `path` is a symlink.

@param path - The path to check.
@returns Whether the `path` is a symlink.
*/
export const isSymlink: PathTypeFunction;

export type PathTypeSyncFunction = (path: string) => boolean;

/**
Synchronously check whether the passed `path` is a file.

@param path - The path to check.
@returns Whether the `path` is a file.
*/
export const isFileSync: PathTypeSyncFunction;

/**
Synchronously check whether the passed `path` is a directory.

@param path - The path to check.
@returns Whether the `path` is a directory.
*/
export const isDirectorySync: PathTypeSyncFunction;

/**
Synchronously check whether the passed `path` is a symlink.

@param path - The path to check.
@returns Whether the `path` is a directory.
*/
export const isSymlinkSync: PathTypeSyncFunction;