/// import { Stats } from 'fs'; declare function createMode(stat?: number | createMode.StatsMode): createMode.Mode; declare namespace createMode { type StatsMode = Pick; function isStatsMode(v: any): v is StatsMode; class RWX { protected static r: number; protected static w: number; protected static x: number; private stat; constructor(stat: StatsMode); get read(): boolean; set read(v: boolean); get write(): boolean; set write(v: boolean); get execute(): boolean; set execute(v: boolean); } class Owner extends RWX { protected static r: number; protected static w: number; protected static x: number; } class Group extends RWX { protected static r: number; protected static w: number; protected static x: number; } class Others extends RWX { protected static r: number; protected static w: number; protected static x: number; } class Mode { owner: Owner; group: Group; others: Others; private stat; constructor(stat?: number | StatsMode); private checkModeProperty; isDirectory(v?: boolean): boolean; isFile(v?: boolean): boolean; isBlockDevice(v?: boolean): boolean; isCharacterDevice(v?: boolean): boolean; isSymbolicLink(v?: boolean): boolean; isFIFO(v?: boolean): boolean; isSocket(v?: boolean): boolean; /** * Returns an octal representation of the `mode`, eg. "0754". * * http://en.wikipedia.org/wiki/File_system_permissions#Numeric_notation * * @return {String} * @api public */ toOctal(): string; /** * Returns a String representation of the `mode`. * The output resembles something similar to what `ls -l` would output. * * http://en.wikipedia.org/wiki/Unix_file_types * * @return {String} * @api public */ toString(): string; valueOf(): number; get setuid(): boolean; set setuid(v: boolean); get setgid(): boolean; set setgid(v: boolean); get sticky(): boolean; set sticky(v: boolean); } } export = createMode;