import fs from "node:fs";

//#region src/creation.d.ts
type Callback = (err: NodeJS.ErrnoException | null, path: string | null) => void;
/**
 * create unique name file
 *
 * @param template - template string for filename
 * @returns result with Promise
 */
declare function createFile(template: string): Promise<string | null>;
/**
 * create unique name file
 *
 * @param template - template string for filename
 * @param mode - permission
 * @returns result with Promise
 */
declare function createFile(template: string, mode: fs.Mode): Promise<string | null>;
/**
 * create unique name file
 *
 * @param template - template string for filename
 * @param callback - callback function
 */
declare function createFile(template: string, callback: Callback): void;
/**
 * create unique name file
 *
 * @param template - template string for filename
 * @param mode - permission
 * @param callback - callback function
 */
declare function createFile(template: string, mode: fs.Mode, callback: Callback): void;
/**
 * create unique name file, sync version
 *
 * @param template - template string for filename
 * @returns unique filename
 */
declare function createFileSync(template: string): string;
/**
 * create unique name file, sync version
 *
 * @param template - template string for filename
 * @param mode - permission
 * @returns unique filename
 */
declare function createFileSync(template: string, mode: fs.Mode): string;
/**
 * create unique name directory
 *
 * @param template - template string for dirname
 * @returns result with Promise
 */
declare function createDir(template: string): Promise<string | null>;
/**
 * create unique name directory
 *
 * @param template - template string for dirname
 * @param mode - permission
 * @returns result with Promise
 */
declare function createDir(template: string, mode: fs.Mode): Promise<string | null>;
/**
 * create unique name directory
 *
 * @param template - template string for dirname
 * @param callback - callback function
 */
declare function createDir(template: string, callback: Callback): void;
/**
 * create unique name directory
 *
 * @param template - template string for dirname
 * @param mode - permission
 * @param callback - callback function
 */
declare function createDir(template: string, mode: fs.Mode, callback: Callback): void;
/**
 * create unique name directory, sync version
 *
 * @param template - template string for dirname
 * @returns unique filename
 */
declare function createDirSync(template: string): string;
/**
 * create unique name directory, sync version
 *
 * @param template - template string for dirname
 * @returns unique filename
 */
declare function createDirSync(template: string, mode: fs.Mode): string;
//#endregion
export { createDir, createDirSync, createFile, createFileSync };
//# sourceMappingURL=creation.d.cts.map