/** Wrap a function to ensure it is called only once, ignoring all subsequent calls */
export declare function runOnce<T, ARGS extends unknown[]>(fn: (...args: ARGS) => T): (...args: ARGS) => T | void;
/** Wrap a function to ensure it is called only once, calling an error handler otherwise */
export declare function runOnce<T, ARGS extends unknown[], U = T>(fn: (...args: ARGS) => T, errorOrHandler: string | ((...args: ARGS) => U | never)): (...args: ARGS) => T | U;
