import { AdpConfig } from "@sap/adp-common";
import AdmZip = require("adm-zip");
export interface Uaa {
    clientid: string;
    clientsecret: string;
    url: string;
}
export interface AppParams {
    appName: string;
    appVersion: string;
    appHostId: string;
}
export interface AppParamsExtended extends AppParams {
    spaceGuid: string;
}
export interface CFParameters {
    org: string;
    space: string;
    html5RepoRuntime: string;
}
export interface Credentials {
    [key: string]: any;
    uaa: Uaa;
    uri: string;
    endpoints: any;
}
export interface ServiceKeys {
    credentials: Credentials[];
    serviceInstance: ServiceInstance;
}
export interface HTML5Content {
    entries: AdmZip.IZipEntry[];
    serviceInstanceGuid: string;
    manifest: any;
}
export interface ServiceInstance {
    name: string;
    guid: string;
}
export interface GetServiceInstanceParams {
    spaceGuids?: string[];
    planNames?: string[];
    names: string[];
}
export interface BusinessSeviceResource {
    name: string;
    label: string;
}
export interface AppParams {
    appName: string;
    appVersion: string;
    appHostId: string;
}
export interface Resource {
    name: string;
    type: string;
    parameters: any;
}
export interface Yaml {
    "_schema-version": string;
    "ID": string;
    "version": string;
    resources?: any[];
    modules?: MTAModule[];
}
export interface MTAModule {
    name: string;
    parameters: any;
    path: string;
    requires: MTARequire[];
    type: string;
}
export interface MTARequire {
    name: string;
}
export interface DataSource {
    [key: string]: {
        uri: string;
        type: string;
        settings: {
            odataVersion: string;
            localUri: string;
        };
    };
}
export interface ODataTargetSource {
    dataSourceName: string;
    uri: string;
}
export interface CfAdpConfig extends AdpConfig {
    cfSpace: string;
    cfOrganization: string;
    cfApiUrl: string;
}
