/*!
 * name: nuget-server
 * version: 0.19.0
 * description: NuGet server on Node.js
 * author: Kouji Matsui (@kekyo@mi.kekyo.net)
 * license: MIT
 * repository.url: https://github.com/kekyo/nuget-server.git
 * git.commit.hash: 5b9501882b352a0490b3091210ed1740cfb81389
 */

import { Logger } from '../types';
/**
 * Configuration for auth failure tracking
 */
export interface AuthFailureTrackerConfig {
    logger: Logger;
    enabled?: boolean;
    maxDelay?: number;
    resetAfterMs?: number;
    delays?: number[];
}
/**
 * Authentication failure tracker service interface
 * Tracks failed authentication attempts by IP and username
 * Implements progressive delays to prevent brute force attacks
 */
export interface AuthFailureTracker {
    readonly recordFailure: (request: any, username?: string) => void;
    readonly applyDelay: (request: any, username?: string) => Promise<number>;
    readonly clearFailures: (request: any, username?: string) => void;
    readonly getFailureCount: (request: any, username?: string) => number;
    readonly getStats: () => {
        ipCount: number;
        userCount: number;
        enabled: boolean;
    };
    readonly destroy: () => void;
}
/**
 * Creates an authentication failure tracker service
 * @param config - Auth failure tracker configuration
 * @returns Auth failure tracker service instance
 */
export declare const createAuthFailureTracker: (config: AuthFailureTrackerConfig) => AuthFailureTracker;
/**
 * Create auth failure tracker from environment variables
 */
export declare const createAuthFailureTrackerFromEnv: (logger: Logger) => AuthFailureTracker;
//# sourceMappingURL=authFailureTracker.d.ts.map