///
interface File {
location: string;
content: string;
hasShebang: boolean;
basename: string;
}
/** checks if a file has a shebang at the top, or if provided a package.json,
* checks that all bin provided have shebangs, throws an error if they do not
* have it, useful for testing within CI for npm packages and reliably asserting
* that a executable file indeed has a shebang at the top. */
export declare class ShebangCheck {
static pattern: RegExp;
static readFile(location: string): Promise;
static readJson(location: string): Promise;
static joinDirname(location: string): (p: string) => string;
static binFiles(location: string): Promise;
static uniqueBinFiles(location: string): Promise;
static files(location: string): Promise<{
location: string;
content: string;
hasShebang: boolean;
basename: string;
}[]>;
static multiFile(...locations: string[]): Promise;
static check(...location: string[]): Promise;
static cli(process: NodeJS.Process): Promise;
}
export {};