///
import { Readable, Writable } from 'stream';
import { Result } from '../result';
import { KubeDocument } from '../kubeObject';
import { attemptCallback } from './attempt';
import { ifCallback } from './if';
declare module './' {
interface Processor {
do(cmd: commandFn): this;
end(): Promise;
attempt(times: number, sleepTime: number, fn: attemptCallback): this;
copy(document: KubeDocument, src: string, dst: string): this;
owners: Array;
addOwner(object: KubeDocument): this;
clearOwners(): this;
list(object: KubeDocument): this;
read(object: KubeDocument): this;
create(object: KubeDocument): this;
patch(object: KubeDocument, patch: Partial): this;
delete(object: KubeDocument): this;
upsert(object: KubeDocument): this;
exec(document: KubeDocument, command: string | string[], stdout?: Writable, stderr?: Writable, stdin?: Readable): this;
eachFile(fn: any, file: string, params?: any): this;
upsertFile(file: string, params?: any): this;
createFile(file: string, params?: any): this;
deleteFile(file: string, params?: any): this;
if(condition: boolean, trueCallback: ifCallback, falseCallback?: ifCallback): this;
beginForward(containerPort: number, document: KubeDocument): this;
endForward(): this;
beginWatch(document: KubeDocument): this;
whenWatch(conditionFn: any, actionFn: any): this;
endWatch(): any;
}
}