import * as k8s from '@kubernetes/client-node'; import { V1Pod } from '@kubernetes/client-node'; import { BaseResourceOperations, ResourceOperationOptions, WatchCallback } from '../BaseResourceOperations.js'; import { KubernetesClient } from '../KubernetesClient.js'; /** * Pod-specific operation options */ export interface PodOperationOptions extends ResourceOperationOptions { /** * Container name for log operations */ container?: string; /** * Follow logs in real-time */ follow?: boolean; /** * Number of lines to tail from logs */ tailLines?: number; /** * Get previous container logs */ previous?: boolean; /** * Timestamps in log output */ timestamps?: boolean; /** * Return logs since a specific time (in seconds) */ sinceSeconds?: number; } /** * Pod operations implementation - Read-only operations */ export declare class PodOperations extends BaseResourceOperations { constructor(client: KubernetesClient); /** * @throws {Error} This operation is not supported in read-only mode */ create(_pod: V1Pod, _options?: ResourceOperationOptions): Promise; /** * @throws {Error} This operation is not supported in read-only mode */ update(_pod: V1Pod, _options?: ResourceOperationOptions): Promise; /** * @throws {Error} This operation is not supported in read-only mode */ patch(_name: string, _patch: any, _options?: ResourceOperationOptions): Promise; /** * @throws {Error} This operation is not supported in read-only mode */ delete(_name: string, _options?: ResourceOperationOptions): Promise; /** * Get a pod by name */ get(name: string, options?: ResourceOperationOptions): Promise; /** * List pods */ list(options?: ResourceOperationOptions): Promise; /** * Watch pods for changes */ watch(callback: WatchCallback, options?: ResourceOperationOptions): () => void; /** * Get pod logs */ getLogs(name: string, options?: PodOperationOptions): Promise; /** * Stream pod logs */ streamLogs(name: string, onData: (data: string) => void, options?: PodOperationOptions): () => void; /** * Get pod metrics */ getMetrics(name: string, options?: ResourceOperationOptions): Promise; /** * List pods with MCP tool-friendly formatting */ listFormatted(options?: ResourceOperationOptions): Promise<{ total: number; namespace: string; pods: Array<{ metadata: any; status: any; spec: any; }>; }>; /** * Get a pod with MCP tool-friendly formatting */ getFormatted(name: string, options?: ResourceOperationOptions): Promise<{ resourceType: string; metadata: any; spec: any; status: any; }>; private formatResourceMetadata; private formatResourceStatus; } //# sourceMappingURL=PodOperations.d.ts.map