| /// <reference types="node"/> | 
| import * as fs from 'fs'; | 
|   | 
| export interface Options { | 
|     /** | 
|      * Directory [permissions](https://x-team.com/blog/file-system-permissions-umask-node-js/). | 
|      * | 
|      * @default 0o777 & (~process.umask()) | 
|      */ | 
|     readonly mode?: number; | 
|   | 
|     /** | 
|      * Use a custom `fs` implementation. For example [`graceful-fs`](https://github.com/isaacs/node-graceful-fs). | 
|      * | 
|      * Using a custom `fs` implementation will block the use of the native `recursive` option if `fs.mkdir` or `fs.mkdirSync` is not the native function. | 
|      * | 
|      * @default require('fs') | 
|      */ | 
|     readonly fs?: typeof fs; | 
| } | 
|   | 
| /** | 
|  * Make a directory and its parents if needed - Think `mkdir -p`. | 
|  * | 
|  * @param path - Directory to create. | 
|  * @returns A `Promise` for the path to the created directory. | 
|  */ | 
| export default function makeDir( | 
|     path: string, | 
|     options?: Options | 
| ): Promise<string>; | 
|   | 
| /** | 
|  * Synchronously make a directory and its parents if needed - Think `mkdir -p`. | 
|  * | 
|  * @param path - Directory to create. | 
|  * @returns The path to the created directory. | 
|  */ | 
| export function sync(path: string, options?: Options): string; |