// Type definitions for Glob 7.1 // Project: https://github.com/isaacs/node-glob // Definitions by: vvakame // voy // Klaus Meinhardt // Piotr Błażejewicz // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /// import events = require("events"); import minimatch = require("minimatch"); declare function G(pattern: string, cb: (err: Error | null, matches: string[]) => void): G.IGlob; declare function G(pattern: string, options: G.IOptions, cb: (err: Error | null, matches: string[]) => void): G.IGlob; declare namespace G { function __promisify__(pattern: string, options?: IOptions): Promise; function sync(pattern: string, options?: IOptions): string[]; function hasMagic(pattern: string, options?: IOptions): boolean; let glob: typeof G; let Glob: IGlobStatic; let GlobSync: IGlobSyncStatic; interface IOptions extends minimatch.IOptions { cwd?: string | undefined; root?: string | undefined; dot?: boolean | undefined; nomount?: boolean | undefined; mark?: boolean | undefined; nosort?: boolean | undefined; stat?: boolean | undefined; silent?: boolean | undefined; strict?: boolean | undefined; cache?: { [path: string]: boolean | 'DIR' | 'FILE' | ReadonlyArray } | undefined; statCache?: { [path: string]: false | { isDirectory(): boolean} | undefined } | undefined; symlinks?: { [path: string]: boolean | undefined } | undefined; realpathCache?: { [path: string]: string } | undefined; sync?: boolean | undefined; nounique?: boolean | undefined; nonull?: boolean | undefined; debug?: boolean | undefined; nobrace?: boolean | undefined; noglobstar?: boolean | undefined; noext?: boolean | undefined; nocase?: boolean | undefined; matchBase?: any; nodir?: boolean | undefined; ignore?: string | ReadonlyArray | undefined; follow?: boolean | undefined; realpath?: boolean | undefined; nonegate?: boolean | undefined; nocomment?: boolean | undefined; absolute?: boolean | undefined; } interface IGlobStatic extends events.EventEmitter { new (pattern: string, cb?: (err: Error | null, matches: string[]) => void): IGlob; new (pattern: string, options: IOptions, cb?: (err: Error | null, matches: string[]) => void): IGlob; prototype: IGlob; } interface IGlobSyncStatic { new (pattern: string, options?: IOptions): IGlobBase; prototype: IGlobBase; } interface IGlobBase { minimatch: minimatch.IMinimatch; options: IOptions; aborted: boolean; cache: { [path: string]: boolean | 'DIR' | 'FILE' | ReadonlyArray }; statCache: { [path: string]: false | { isDirectory(): boolean; } | undefined }; symlinks: { [path: string]: boolean | undefined }; realpathCache: { [path: string]: string }; found: string[]; } interface IGlob extends IGlobBase, events.EventEmitter { pause(): void; resume(): void; abort(): void; } } export = G;