import * as k8s from "@kubernetes/client-node";
import { KubernetesDelete } from "./request";
/**
 * Create KubernetesObject from KubernetesApplication and kind.  This
 * method only supports the types of resources managed as part of a
 * KuberneteApplication, namely: Namespace, Secret, Service,
 * ServiceAccount, Deployment, Ingress, ClusterRole,
 * ClusterRoleBinding, Role, and RoleBinding.
 *
 * @param app Kubernetes application
 * @param kind kind of object to return
 * @return proper Kubernetes resource object
 */
export declare function appObject(app: KubernetesDelete, kind: string): k8s.KubernetesObject;
/**
 * Convert a full Kubernetes resource spec into a minimal KubernetesObject.
 *
 * @param spec Kubernetes spec to convert
 * @return Minimal Kubernetes object
 */
export declare function k8sObject(spec: k8s.KubernetesObject): k8s.KubernetesObject;
/**
 * Safely stringify a Kubernetes resource spec, removing any sensitive
 * data, suitable for logging.  The string returned is a compact
 * representation, not pretty printed, and if it is long, it may be
 * truncated.
 *
 * @param spec Kubernetes spec to stringify
 * @return String representation of spec with sensitive information removed
 */
export declare function logObject(spec: k8s.KubernetesObject): string;
//# sourceMappingURL=resource.d.ts.map