import { AuthResult, ApiKeyResult } from '../types/common';
export interface AuthModuleConfig {
    apiUrl: string;
    timeout?: number;
    onError?: (error: any) => void;
}
/**
 * Authentication Module for SecKav SDK
 * Handles user authentication, registration, and API key management
 */
export declare class AuthenticationModule {
    private config;
    constructor(config: AuthModuleConfig);
    /**
     * Register a new user
     */
    register(email: string, password: string, name: string): Promise<AuthResult>;
    /**
     * Login user
     */
    login(email: string, password: string): Promise<AuthResult>;
    /**
     * Get user profile
     */
    getProfile(token: string): Promise<AuthResult>;
    /**
     * Generate new API key
     */
    generateApiKey(token: string, name: string, description?: string): Promise<ApiKeyResult>;
    /**
     * List API keys
     */
    listApiKeys(token: string): Promise<ApiKeyResult>;
    /**
     * Revoke API key
     */
    revokeApiKey(token: string, apiKey: string): Promise<ApiKeyResult>;
    /**
     * Get module information
     */
    getInfo(): {
        name: string;
        version: string;
        description: string;
        apiUrl: string;
    };
}
//# sourceMappingURL=Authentication.d.ts.map