import { GitHubAuthManager } from '../auth/GitHubAuthManager.js';
import { PortfolioManager } from '../portfolio/PortfolioManager.js';
import { ConfigManager } from '../config/ConfigManager.js';
import { PortfolioRepoManager } from '../portfolio/PortfolioRepoManager.js';
import { TokenManager } from '../security/tokenManager.js';
import { PortfolioPullHandler } from './PortfolioPullHandler.js';
import { PortfolioIndexManager } from '../portfolio/PortfolioIndexManager.js';
import { UnifiedIndexManager } from '../portfolio/UnifiedIndexManager.js';
import { InitializationService } from '../services/InitializationService.js';
import { PersonaIndicatorService } from '../services/PersonaIndicatorService.js';
import { FileOperationsService } from '../services/FileOperationsService.js';
/**
 * PortfolioHandler - Manages portfolio operations, status, configuration, and search
 *
 * Uses dependency injection for all services:
 * - InitializationService for setup tasks
 * - PersonaIndicatorService for persona indicator formatting
 * - GitHubAuthManager for authentication
 * - PortfolioManager for portfolio operations
 *
 * FIX: DMCP-SEC-006 - Security audit suppression
 * This handler delegates operations to PortfolioManager and related services.
 * Audit logging happens in the underlying services (GitHubAuthManager, PortfolioRepoManager).
 * @security-audit-suppress DMCP-SEC-006
 */
export declare class PortfolioHandler {
    private readonly githubAuthManager;
    private readonly portfolioManager;
    private readonly portfolioPullHandler;
    private readonly portfolioIndexManager;
    private readonly unifiedIndexManager;
    private readonly initService;
    private readonly indicatorService;
    private readonly configManager;
    private readonly fileOperations;
    private readonly tokenManager;
    private readonly portfolioRepoManager;
    constructor(githubAuthManager: GitHubAuthManager, portfolioManager: PortfolioManager, portfolioPullHandler: PortfolioPullHandler, portfolioIndexManager: PortfolioIndexManager, unifiedIndexManager: UnifiedIndexManager, initService: InitializationService, indicatorService: PersonaIndicatorService, configManager: ConfigManager, fileOperations: FileOperationsService, tokenManager: TokenManager, portfolioRepoManager: PortfolioRepoManager);
    private countElementsInDir;
    private getElementsList;
    private loadElementByType;
    portfolioStatus(username?: string): Promise<{
        content: {
            type: string;
            text: string;
        }[];
    }>;
    initPortfolio(_options: {
        repositoryName?: string;
        private?: boolean;
        description?: string;
    }): Promise<{
        content: {
            type: string;
            text: string;
        }[];
    }>;
    portfolioConfig(options: {
        autoSync?: boolean;
        defaultVisibility?: string;
        autoSubmit?: boolean;
        repositoryName?: string;
    }): Promise<{
        content: {
            type: string;
            text: string;
        }[];
        data: {
            config: {
                autoSubmit: boolean;
                repositoryName: string;
                defaultVisibility: string;
            };
        };
    } | {
        content: {
            type: string;
            text: string;
        }[];
        data?: undefined;
    }>;
    syncPortfolio(options: {
        direction: string;
        mode?: string;
        force: boolean;
        dryRun: boolean;
        confirmDeletions?: boolean;
    }): Promise<import("./PortfolioPullHandler.js").PullResult>;
    searchPortfolio(options: {
        query: string;
        elementType?: string;
        fuzzyMatch?: boolean;
        maxResults?: number;
        includeKeywords?: boolean;
        includeTags?: boolean;
        includeTriggers?: boolean;
        includeDescriptions?: boolean;
    }): Promise<{
        content: {
            type: string;
            text: string;
        }[];
    }>;
    searchAll(options: {
        query: string;
        sources?: string[];
        elementType?: string;
        page?: number;
        pageSize?: number;
        sortBy?: string;
    }): Promise<{
        content: {
            type: string;
            text: string;
        }[];
    }>;
}
//# sourceMappingURL=PortfolioHandler.d.ts.map