import { ApiClient } from '../api-client';
export interface NodeSummary {
    id: string;
    serverName: string;
    nodeType: 'master' | 'worker';
    ipAddress: string;
    status: string;
    providerResourceId?: string;
    createdAt: string;
    metadata?: Record<string, any>;
}
export interface AddWorkerResult {
    operation_id: string;
    resource_id: string;
    status: string;
    estimated_duration: string;
    created_at: string;
}
export interface RemoveWorkerResult {
    operation_id: string;
    resource_id: string;
    status: string;
    estimated_duration: string;
    created_at: string;
}
export interface OperationStatus {
    id: string;
    status: 'PENDING' | 'IN_PROGRESS' | 'COMPLETED' | 'FAILED' | 'CANCELLED';
    currentStepIndex: number;
    totalSteps: number;
    currentStepProgress: number;
    metadata?: Record<string, any>;
}
export declare class CliNodeService {
    private readonly apiClient;
    private readonly clusterId;
    constructor(apiClient: ApiClient, clusterId: string);
    static create(clusterId: string): Promise<CliNodeService>;
    listNodes(): Promise<NodeSummary[]>;
    addWorkers(count: number): Promise<AddWorkerResult>;
    removeWorker(nodeId: string): Promise<RemoveWorkerResult>;
    getOperationStatus(operationId: string): Promise<OperationStatus>;
}
