///
import { KubeObject, KubeDocument } from '../kubeObject';
import { Result } from '../result';
import { baseMixinType } from './';
export interface listOptions {
fieldSelector?: string;
table?: boolean;
}
export interface putOptions {
subResource?: string;
}
export declare const crudMixin: (base: baseMixinType) => {
new (...a: any[]): {
list(document: KubeDocument, options?: listOptions): Promise;
read(document: KubeDocument): Promise;
create(document: KubeDocument, owners?: Array): Promise;
put(document: KubeDocument, newDoc: KubeDocument, params?: putOptions): Promise;
patch(document: KubeDocument, patch: Partial): Promise;
delete(document: KubeDocument): Promise;
upsert(document: KubeDocument, owners?: Array): Promise;
processors: import("..").Processor[];
processor: import("..").Processor;
info: import("./version").Version;
status: import("..").Status;
options: any;
begin(stageName?: string): import("..").Processor;
begin(stageName?: string): import("..").Processor;
_kubeConfig: import("@kubernetes/client-node").KubeConfig;
readonly kubeConfig: import("@kubernetes/client-node").KubeConfig;
_request: import("..").Request;
readonly request: import("..").Request;
toAddress(document: Pick): Promise;
toString(document: Pick): string;
watch(document: Pick, callback: import("..").watchCallback, error: import("..").watchDone): Promise;
exec(document: Pick, command: string | string[], stdout?: import("stream").Writable, stderr?: import("stream").Writable, stdin?: import("stream").Readable): Promise;
portForward(containerPort: number, document: Pick): Promise;
version(): Promise;
};
};