import type { ToolManager } from '../../tools/tool-manager.js';
import type { LLMClient, MCPConnectionStatus } from '../../types/core.js';
import type { UpdateInfo } from '../../types/utils.js';
import type { Logger } from '../../utils/logging/types.js';
interface UseAppLoggingProps {
    logger: Logger;
    vscodeMode: boolean;
    vscodePort: number | undefined;
    developmentMode: string;
    client: LLMClient | null;
    currentProvider: string;
    currentModel: string;
    toolManager: ToolManager | null;
    mcpInitialized: boolean;
    mcpServersStatus: MCPConnectionStatus[] | undefined;
    updateInfo: UpdateInfo | null;
    activeMode: string | null;
    isToolExecuting: boolean;
    isToolConfirmationMode: boolean;
    pendingToolCallsLength: number;
    isGenerating: boolean;
}
/**
 * Side-effect-only hook that emits structured log events as App.tsx state
 * changes. Splits the noisy logging out of App.tsx so the orchestrator stays
 * focused on render/state composition.
 */
export declare function useAppLogging({ logger, vscodeMode, vscodePort, developmentMode, client, currentProvider, currentModel, toolManager, mcpInitialized, mcpServersStatus, updateInfo, activeMode, isToolExecuting, isToolConfirmationMode, pendingToolCallsLength, isGenerating, }: UseAppLoggingProps): void;
export {};
//# sourceMappingURL=useAppLogging.d.ts.map