export interface ICallback<TResult = void> {
    (err?: Error | null, result?: TResult): void;
    (err: null | undefined, result: TResult): void;
}
export type TAsyncOperation<TResult> = (cb: ICallback<TResult>) => void;
export type TAsyncOperationList = Array<TAsyncOperation<unknown>>;
export type ExtractAsyncOperationReturnType<T extends TAsyncOperation<unknown>> = T extends TAsyncOperation<infer R> ? R : never;
export type MapAsyncOperationReturnTypeToResult<AsyncOperationList extends TAsyncOperationList> = {
    [K in keyof AsyncOperationList]: ExtractAsyncOperationReturnType<AsyncOperationList[K]>;
};
//# sourceMappingURL=callback.d.ts.map