declare namespace yn { interface Options { /** Use a key distance-based score to leniently accept typos of `yes` and `no`. @default false */ readonly lenient?: boolean; /** Default value if no match was found. @default null */ readonly default?: boolean | null; } interface OptionsWithDefault extends Options { default: boolean; } } declare const yn: { /** Parse yes/no like values. The following case-insensitive values are recognized: `'y', 'yes', 'true', true, '1', 1, 'n', 'no', 'false', false, '0', 0` @param input - Value that should be converted. @returns The parsed input if it can be parsed or the default value defined in the `default` option. @example ``` import yn = require('yn'); yn('y'); //=> true yn('NO'); //=> false yn(true); //=> true yn('abomasum'); //=> null yn('abomasum', {default: false}); //=> false yn('mo', {lenient: true}); //=> false ``` */ (input: unknown, options: yn.OptionsWithDefault): boolean; (input: unknown, options?: yn.Options): boolean | null; // TODO: Remove this for the next major release, refactor the whole definition to: // declare function yn(input: unknown, options: yn.OptionsWithDefault): boolean; // declare function yn(input: unknown, options?: yn.Options): boolean | null; // export = yn; default: typeof yn; }; export = yn;