| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 | 
							- declare namespace onetime {
 
- 	interface Options {
 
- 		/**
 
- 		Throw an error when called more than once.
 
- 		@default false
 
- 		*/
 
- 		throw?: boolean;
 
- 	}
 
- }
 
- declare const onetime: {
 
- 	/**
 
- 	Ensure a function is only called once. When called multiple times it will return the return value from the first call.
 
- 	@param fn - Function that should only be called once.
 
- 	@returns A function that only calls `fn` once.
 
- 	@example
 
- 	```
 
- 	import onetime = require('onetime');
 
- 	let i = 0;
 
- 	const foo = onetime(() => ++i);
 
- 	foo(); //=> 1
 
- 	foo(); //=> 1
 
- 	foo(); //=> 1
 
- 	onetime.callCount(foo); //=> 3
 
- 	```
 
- 	*/
 
- 	<ArgumentsType extends unknown[], ReturnType>(
 
- 		fn: (...arguments: ArgumentsType) => ReturnType,
 
- 		options?: onetime.Options
 
- 	): (...arguments: ArgumentsType) => ReturnType;
 
- 	/**
 
- 	Get the number of times `fn` has been called.
 
- 	@param fn - Function to get call count from.
 
- 	@returns A number representing how many times `fn` has been called.
 
- 	@example
 
- 	```
 
- 	import onetime = require('onetime');
 
- 	const foo = onetime(() => {});
 
- 	foo();
 
- 	foo();
 
- 	foo();
 
- 	console.log(onetime.callCount(foo));
 
- 	//=> 3
 
- 	```
 
- 	*/
 
- 	callCount(fn: (...arguments: any[]) => unknown): number;
 
- 	// TODO: Remove this for the next major release
 
- 	default: typeof onetime;
 
- };
 
- export = onetime;
 
 
  |