import type { Service } from '../environment-accessor';
import type { ServiceBindingTransformFunction, ServiceBindingTransformOptions } from './destination-from-vcap';
import type { Destination } from './destination-service-types';
/**
 * @internal
 */
export declare const serviceToDestinationTransformers: Record<string, ServiceBindingTransformFunction>;
/**
 * Convenience function to create a destination from the provided service binding.
 * If a JWT is provided as part of options, the tenant in the JWT is used for client credentials grant, else the provider tenant is used, wherever applicable.
 * Supported service types are:
 * - business-logging (OAuth2ClientCredentials)
 * - destination (OAuth2ClientCredentials)
 * - s4-hana-cloud (BasicAuthentication)
 * - saas-registry (OAuth2ClientCredentials)
 * - workflow (OAuth2ClientCredentials)
 * - service-manager (OAuth2ClientCredentials)
 * - xsuaa (OAuth2ClientCredentials)
 * - aicore (OAuth2ClientCredentials)
 * Throws an error if the provided service binding is not supported.
 * @param serviceBinding - The service binding to transform.
 * @param options - Options used for fetching the destination.
 * @returns A promise returning the transformed destination on success.
 */
export declare function transformServiceBindingToDestination(serviceBinding: Service, options?: ServiceBindingTransformOptions): Promise<Destination>;
/**
 * Convenience function to create a destination from the provided service binding.
 * Transforms a service binding to a destination of type OAuth2ClientCredentials.
 * If a JWT is provided as part of the options, the tenant in the JWT is used for the client credentials grant, else the provider tenant is used, wherever applicable.
 * @param service - The service binding to transform.
 * @param options - Options used to transform the service binding.
 * @returns A promise returning the transformed destination on success.
 */
export declare function transformServiceBindingToClientCredentialsDestination(service: Service, options?: ServiceBindingTransformOptions & {
    url?: string;
}): Promise<Destination>;
