import { TokenValidationResult, TokenCheckerConfig, EnvTokenOptions, FileTokenOptions, ValidationMethod } from './types/token.types';
/**
 * Main Discord Token Checker class
 * Provides comprehensive token validation functionality
 */
export declare class DiscordTokenChecker {
    private config;
    constructor(config?: Partial<TokenCheckerConfig>);
    /**
     * Validate token from environment variable
     * @param options - Environment validation options
     * @returns Validation result
     */
    validateFromEnv(options?: EnvTokenOptions): Promise<TokenValidationResult>;
    /**
     * Validate token from file
     * @param options - File validation options
     * @returns Validation result
     */
    validateFromFile(options: FileTokenOptions): Promise<TokenValidationResult>;
    /**
     * Validate token directly
     * @param token - The token to validate
     * @param method - Validation method to use
     * @returns Validation result
     */
    validateDirect(token: string, method?: ValidationMethod): Promise<TokenValidationResult>;
    /**
     * Internal token validation method
     * @param token - The token to validate
     * @param source - Token source
     * @param method - Validation method
     * @returns Validation result
     */
    private validateToken;
    /**
     * Quick token test (format only)
     * @param token - The token to test
     * @returns Simple boolean result
     */
    static quickFormatCheck(token: string): boolean;
    /**
     * Quick API test
     * @param token - The token to test
     * @param timeout - Request timeout
     * @returns Simple validation result
     */
    static quickApiCheck(token: string, timeout?: number): Promise<{
        valid: boolean;
        error?: string;
    }>;
    /**
     * Extract user ID from token
     * @param token - The token
     * @returns User ID or null
     */
    static extractUserId(token: string): string | null;
    /**
     * Extract timestamp from token
     * @param token - The token
     * @returns Timestamp or null
     */
    static extractTimestamp(token: string): Date | null;
    /**
     * Create a new token checker instance with custom config
     * @param config - Custom configuration
     * @returns New token checker instance
     */
    static create(config?: Partial<TokenCheckerConfig>): DiscordTokenChecker;
    /**
     * Update checker configuration
     * @param config - New configuration options
     */
    updateConfig(config: Partial<TokenCheckerConfig>): void;
    /**
     * Get current configuration
     * @returns Current configuration
     */
    getConfig(): TokenCheckerConfig;
}
//# sourceMappingURL=token-checker.d.ts.map