import { EventEmitter } from 'events';
import { ClientConfig, UserSession, BotUsage, ErrorReport, ConnectionStatus } from './types/index';
/**
 * Cliente principal para integração com o AI Admin Dashboard
 *
 * Objetivos:
 * 1. Garantir conexão entre apps
 * 2. Suporte a múltiplos usuários simultâneos
 * 3. Relatório automático de uso
 * 4. Relatório automático de erros
 */
export declare class AiAdminClient extends EventEmitter {
    private config;
    private connectionManager;
    private telemetryReporter;
    private errorReporter;
    private activeSessions;
    private isInitialized;
    constructor(config: ClientConfig);
    /**
     * Inicializa o cliente e estabelece conexão com o dashboard
     */
    initialize(): Promise<void>;
    /**
     * Objetivo 2: Criar sessão para usuário usar o bot
     */
    createUserSession(userId: string, tenantId: string, metadata?: Record<string, any>): Promise<UserSession>;
    /**
     * Objetivo 3: Reportar uso do bot pelo usuário
     */
    reportUsage(usage: Omit<BotUsage, 'timestamp'>): Promise<void>;
    /**
     * Objetivo 4: Reportar erros da aplicação
     */
    reportError(error: Omit<ErrorReport, 'timestamp'>): Promise<void>;
    /**
     * Encerrar sessão de usuário
     */
    endUserSession(sessionId: string): Promise<void>;
    /**
     * Objetivo 1: Verificar status da conexão
     */
    getConnectionStatus(): Promise<ConnectionStatus>;
    /**
     * Obter sessões ativas
     */
    getActiveSessions(): UserSession[];
    /**
     * Obter estatísticas de uso
     */
    getUsageStats(timeRange?: {
        start: number;
        end: number;
    }): Promise<any>;
    /**
     * Encerrar cliente e limpar recursos
     */
    shutdown(): Promise<void>;
    private setupEventListeners;
    private ensureInitialized;
    private generateSessionId;
    private log;
    private logError;
}
