import { BaseMonitor } from '../core/base-monitor';
import { MonitorResult, ProcessConfig, ProcessInfo, ProcessId, DataSize } from '../types';
import { PlatformAdapter } from '../types/platform';
import { CacheManager } from '../core/cache-manager';
/**
 * 进程监控器
 *
 * 提供进程相关的监控功能，包括进程列表、进程信息、资源使用等
 */
export declare class ProcessMonitor extends BaseMonitor<ProcessInfo[]> {
    private processConfig;
    constructor(adapter: PlatformAdapter, config?: ProcessConfig, cache?: CacheManager);
    /**
     * 获取进程信息（实现抽象方法）
     */
    info(): Promise<MonitorResult<ProcessInfo[]>>;
    /**
     * 获取所有进程列表
     */
    list(options?: {
        skipLimit?: boolean;
    }): Promise<MonitorResult<ProcessInfo[]>>;
    /**
     * 根据 PID 获取进程信息
     */
    byPid(pid: ProcessId): Promise<MonitorResult<ProcessInfo | null>>;
    /**
     * 根据进程名称搜索进程
     */
    byName(name: string): Promise<MonitorResult<ProcessInfo[]>>;
    /**
     * 获取当前进程信息
     */
    current(): Promise<MonitorResult<ProcessInfo | null>>;
    /**
     * 获取子进程列表
     */
    children(parentPid: ProcessId): Promise<MonitorResult<ProcessInfo[]>>;
    /**
     * 获取进程树
     */
    tree(rootPid?: ProcessId): Promise<MonitorResult<any>>;
    /**
     * 获取最占用 CPU 的进程
     */
    topByCpu(limit?: number): Promise<MonitorResult<ProcessInfo[]>>;
    /**
     * 获取最占用内存的进程
     */
    topByMemory(limit?: number): Promise<MonitorResult<ProcessInfo[]>>;
    /**
     * 获取进程统计信息
     */
    stats(): Promise<MonitorResult<{
        total: number;
        running: number;
        sleeping: number;
        waiting: number;
        zombie: number;
        stopped: number;
        unknown: number;
        totalCpuUsage: number;
        totalMemoryUsage: DataSize;
    }>>;
    /**
     * 检查进程是否存在
     */
    exists(pid: ProcessId): Promise<MonitorResult<boolean>>;
    /**
     * 杀死进程
     */
    kill(pid: ProcessId, signal?: string): Promise<MonitorResult<boolean>>;
    /**
     * 获取进程的打开文件
     */
    openFiles(pid: ProcessId): Promise<MonitorResult<string[]>>;
    /**
     * 获取进程的环境变量
     */
    environment(pid: ProcessId): Promise<MonitorResult<Record<string, string>>>;
    /**
     * 配置是否包含子进程
     */
    withChildren(include: boolean): this;
    /**
     * 配置是否包含线程信息
     */
    withThreads(include: boolean): this;
    /**
     * 配置是否包含环境变量
     */
    withEnvironment(include: boolean): this;
    /**
     * 配置是否包含打开文件
     */
    withOpenFiles(include: boolean): this;
    /**
     * 配置进程名称过滤
     */
    withNameFilter(filter: string): this;
    /**
     * 配置最大返回结果数
     */
    withMaxResults(max: number): this;
    /**
     * 配置目标进程 ID 列表
     */
    withPids(pids: number[]): this;
    /**
     * 获取默认配置
     */
    protected getDefaultConfig(): ProcessConfig;
    /**
     * 转换进程列表
     */
    private transformProcessList;
    /**
     * 转换进程信息
     */
    private transformProcessInfo;
    /**
     * 应用过滤器
     */
    private applyFilters;
    /**
     * 构建进程树
     */
    private buildProcessTree;
    /**
     * 规范化进程状态
     */
    private normalizeProcessState;
    /**
     * 解析启动时间
     */
    private parseStartTime;
    /**
     * 安全解析数字
     */
    private safeParseNumber;
}
//# sourceMappingURL=process-monitor.d.ts.map