// The ParsedExpression returns a Promise iff hasSibling returns a Promise.
exporttypeParsedExpression=(path:string,basename?:string,hasSibling?:(name:string)=>boolean|TPromise<boolean>)=>string|null|TPromise<string|null>/* the matching pattern */;
exporttypeParsedExpression=(path:string,basename?:string,hasSibling?:(name:string)=>boolean|Promise<boolean>)=>string|null|Promise<string|null>/* the matching pattern */;
(path:string,basename:string):string|null|TPromise<string|null>/* the matching pattern */;
(path:string,basename:string):string|null|Promise<string|null>/* the matching pattern */;
basenames?:string[];
patterns?:string[];
allBasenames?:string[];
allPaths?:string[];
}
interfaceParsedExpressionPattern{
(path:string,basename:string,name?:string,hasSibling?:(name:string)=>boolean|TPromise<boolean>):string|null|TPromise<string|null>/* the matching pattern */;
(path:string,basename:string,name?:string,hasSibling?:(name:string)=>boolean|Promise<boolean>):string|null|Promise<string|null>/* the matching pattern */;