type Promisable = T | Promise; declare namespace escalade { export type Callback = ( directory: string, files: string[] ) => Promisable; } declare function escalade( directory: string, callback: escalade.Callback ): Promise; export = escalade;