type Arr = readonly unknown[];
export declare class OnceCaller<T extends Arr, R> {
    private func;
    private altFunc?;
    call: (...args: T) => R;
    private result;
    constructor(func: (...args: T) => R, altFunc?: (...args: T) => R);
    private callFirstTime;
    private callNoop;
    reset(): void;
}
export declare class OnceOrErrorCaller<T extends Arr, R> {
    private func;
    private onceCaller;
    constructor(func: (...args: T) => R);
    call(...args: T): R;
    private fail;
    reset(): void;
}
export {};
