export type WhichOptions = { all?: boolean; path?: string; pathExt?: string; nothrow?: boolean; delimiter?: string; }; export type WhichOptionsFindAll = WhichOptions & { all: true; }; export type WhichOptionsFindOne = WhichOptions & { all?: false; }; export type WhichOptionsNoThrow = WhichOptions & { nothrow: true; }; export type WhichOptionsThrow = WhichOptions & { nothrow?: false; }; export type WhichOptionsFindOneThrow = WhichOptionsFindOne & WhichOptionsThrow; export type WhichOptionsFindOneNoThrow = WhichOptionsFindOne & WhichOptionsNoThrow; export type WhichOptionsFindAllNoThrow = WhichOptionsFindAll & WhichOptionsNoThrow; export type WhichOptionsFindAllThrow = WhichOptionsFindAll & WhichOptionsThrow; export declare function which(cmd: string): Promise; export declare function which(cmd: string, opt: WhichOptionsFindAllNoThrow): Promise; export declare function which(cmd: string, opt: WhichOptionsFindOneNoThrow): Promise; export declare function which(cmd: string, opt: WhichOptionsFindAllThrow): Promise; export declare function which(cmd: string, opt: WhichOptionsFindOneThrow): Promise; export declare function which(cmd: string, opt: WhichOptionsFindOne): Promise; export declare function which(cmd: string, opt: WhichOptionsNoThrow): Promise; export declare function which(cmd: string, opt: WhichOptionsFindAll): Promise; export declare function which(cmd: string, opt: WhichOptions): Promise; export declare function whichSync(cmd: string): string; export declare function whichSync(cmd: string, opt: WhichOptionsFindAllNoThrow): string[] | null; export declare function whichSync(cmd: string, opt: WhichOptionsFindOneNoThrow): string | null; export declare function whichSync(cmd: string, opt: WhichOptionsFindAllThrow): string[]; export declare function whichSync(cmd: string, opt: WhichOptionsFindOneThrow): string; export declare function whichSync(cmd: string, opt: WhichOptionsFindOne): string | null; export declare function whichSync(cmd: string, opt: WhichOptionsNoThrow): string[] | string | null; export declare function whichSync(cmd: string, opt: WhichOptionsFindAll): string[] | null; export declare function whichSync(cmd: string, opt?: WhichOptions): string[] | string | null;