export type SharePublicLimitResult = {
    allowed: boolean;
    retryAfterMs: number;
};
/**
 * Two-level limiter for public share download routes: a short burst window
 * and a longer aggregate window. The short window kicks in first; if it
 * blocks, the long window isn't consumed (we don't want to penalize twice).
 */
export declare function consumeSharePublicLimit(clientIp: string): SharePublicLimitResult;
/** @internal */
export declare function resetSharePublicLimitsForTests(): void;
