import { AbortablePromise } from 'better-promises';
import { Computed, Signal } from '@telegram-apps/signals';
import { SignalsTuple } from '../signals-registry.js';
export declare function defineNonConcurrentFn<Fn extends (...args: any) => AbortablePromise<any>>(fn: Fn, errorMessage: string, options?: {
    /**
     * A signal with the promise to use instead of the generated one.
     */
    promise?: Signal<AbortablePromise<Awaited<ReturnType<Fn>>> | undefined>;
    /**
     * A signal with the error to use instead of the generated one.
     */
    error?: Signal<Error | undefined>;
}): [
    fn: Fn,
    promise: [
        ...SignalsTuple<AbortablePromise<Awaited<ReturnType<Fn>>> | undefined>,
        isRequesting: Computed<boolean>
    ],
    error: SignalsTuple<Error | undefined>
];
