import { KubernetesApplication } from "../kubernetes/request";
export declare type ExternalUrls = Array<{
    label?: string;
    url: string;
}>;
/**
 * Return proper SDM goal externalUrls structure or `undefined` if
 * there is no externally accessible endpoint.
 */
export declare function appExternalUrls(ka: KubernetesApplication): ExternalUrls | undefined;
/**
 * Create the URL for a deployment using the protocol, host, and path
 * from the [[KubernetesApplication]] object.  If `ka.path` is not
 * truthy, no ingress was created so return `undefined`.  If the path
 * does not begin and end with a forward slash, /, add them.  If the
 * ingress spec has a TLS secret the scheme is set to "https",
 * otherwise it is set to "http".  If there is not enough information
 * in the ingress spec to create an endpoint, `undefined` is returned.
 *
 * @param ka Kubernetes application
 * @return endpoint URL for deployment service
 */
export declare function endpointBaseUrl(ka: Pick<KubernetesApplication, "path" | "ingressSpec">): string | undefined;
/**
 * Determine host and scheme for endpoint.  The host will be the
 * `host` property of the first element of `ka.ingressSpec.spec.rules`
 * that defines a host.  The scheme will be "https" if the host
 * appears in the list of hostnames for any ingress TLS secret,
 * otherwise "http".  If there is no ingress spec or no ingress spec
 * rules contain a host, return `undefined`.
 *
 * @param ka Kubernetes application information
 * @return "scheme://hostname" as determined from the ingress spec, or `undefined`
 */
export declare function kubeClusterHostScheme(ka: Pick<KubernetesApplication, "ingressSpec">): string | undefined;
//# sourceMappingURL=externalUrls.d.ts.map