import * as k8s from "@kubernetes/client-node";
import { KubernetesApplication, KubernetesDelete } from "./request";
/**
 * Create or update all the resources for an application in a
 * Kubernetes cluster.
 *
 * @param app Kubernetes application creation request
 * @param sdmFulfiller Registered name of the SDM fulfilling the deployment goal.
 * @return Array of resource specs upserted
 */
export declare function upsertApplication(app: KubernetesApplication, sdmFulfiller: string): Promise<k8s.KubernetesObject[]>;
/**
 * Delete resources associated with an application from a Kubernetes
 * cluster.  If any resources fail to be deleted, an error is thrown.
 * If no resources associated with the application exist, it does
 * nothing successfully.
 *
 * @param req Delete application request object
 */
export declare function deleteApplication(del: KubernetesDelete): Promise<k8s.KubernetesObject[]>;
//# sourceMappingURL=application.d.ts.map