import * as _trpc_limiter_core from '@trpc-limiter/core';
import { AnyRootConfig, BaseOpts } from '@trpc-limiter/core';
export { defaultFingerPrint } from '@trpc-limiter/core';
import { RegionRatelimitConfig } from '@upstash/ratelimit/types/single';

declare const createTRPCUpstashLimiter: <TRoot extends AnyRootConfig>(opts: {
    rateLimitOpts: (opts: Required<BaseOpts<AnyRootConfig, any>>) => RegionRatelimitConfig;
} & BaseOpts<TRoot, {
    limit: number;
    remaining: number;
    reset: number;
}>) => _trpc_limiter_core.MwFn<AnyRootConfig>;

export { createTRPCUpstashLimiter };
