export function resetHANAVersionCache(): void;
/**
 * Return the HANA DB Version
 * @param {object} db - Database Connection
 * @returns {Promise<object>}
 */
export function getHANAVersion(db: object, options?: {}): Promise<object>;
/**
 * Check if a view is a Calculation View
 * @param {object} db - Database Connection
 * @param {string} schema - Schema
 * @param {string} viewId - View Unique ID
 * @returns {Promise<boolean>}
 */
export function isCalculationView(db: object, schema: string, viewId: string, options?: {}): Promise<boolean>;
/**
 * Get DB View details
 * @param {object} db - Database Connection
 * @param {string} scheam - Schema
 * @param {string} viewId - View Unique ID
 * @returns {Promise<object>}
 */
export function getView(db: object, scheam: string, viewId: string): Promise<object>;
/**
 * Get DB Object Definition
 * @param {object} db - Database Connection
 * @param {string} schema - Schema
 * @param {*} Id - Object ID
 * @returns {Promise<string>}
 */
export function getDef(db: object, schema: string, Id: any): Promise<string>;
/**
 * Get View Fields and Metadata
 * @param {object} db - Database Connection
 * @param {string} schema - Schema
 * @param {string} viewId - View Unique ID
 * @param {string} viewOid - View Unique ID
 * @returns {Promise<object>}
 */
export function getCalcViewFields(db: object, schema: string, viewId: string, viewOid: string): Promise<object>;
/**
 * Get View Fields and Metadata
 * @param {object} db - Database Connection
 * @param {string} viewOid - View Unique ID
 * @returns {Promise<object>}
 */
export function getViewFields(db: object, viewOid: string): Promise<object>;
/**
 * Get View Parameters and Metadata
 * @param {object} db - Database Connection
 * @param {string} schema - Schema
 * @param {string} viewId - View Unique ID
 * @param {string} viewOid - View Unique ID
 * @returns {Promise<object>}
 */
export function getCalcViewParameters(db: object, schema: string, viewId: string, viewOid: string): Promise<object>;
/**
 * Get View Parameters and Metadata
 * @param {object} db - Database Connection
 * @param {string} viewOid - View Unique ID
 * @returns {Promise<object>}
 */
export function getViewParameters(db: object, viewOid: string): Promise<object>;
/**
 * Get DB Table Details
 * @param {object} db - Database Connection
 * @param {string} schema - Schema
 * @param {string} tableId - Table Unqiue ID
 * @returns {Promise<object>}
 */
export function getTable(db: object, schema: string, tableId: string): Promise<object>;
/**
 * Get Table Fields and Metadata
 * @param {object} db - Database Connection
 * @param {string} tableOid - Table Unique ID
 * @returns {Promise<object>}
 */
export function getTableFields(db: object, tableOid: string): Promise<object>;
/**
 * Get Table Constraints
 * @typedef {{SCHEMA_NAME: string, TABLE_NAME: string}} objType
 * @param {object} db - Database Connection
 * @param {Array<objType>} object
 * @returns
 */
export function getConstraints(db: object, object: Array<objType>): Promise<any>;
/**
 * Get Stored Procedure Details
 * @param {object} db - Database Connection
 * @param {string} schema - Schema
 * @param {string} procedure - Procedure name
 * @returns {Promise<object>}
 */
export function getProcedure(db: object, schema: string, procedure: string): Promise<object>;
/**
 * Get Procedure Parameters
 * @param {object} db - Database Connection
 * @param {string} procOid - Procedure unique ID
 * @returns {Promise<object>}
 */
export function getProcedurePrams(db: object, procOid: string): Promise<object>;
export function getProcedurePramCols(db: any, procOid: any): Promise<any>;
/**
 * Get Function details
 * @param {object} db - Database Connection
 * @param {string} schema - Schema
 * @param {string} functionName - Function Name
 * @returns {Promise<object>}
 */
export function getFunction(db: object, schema: string, functionName: string): Promise<object>;
/**
 * Get Function Parameters
 * @param {object} db - Database Connection
 * @param {string} funcOid - Function Unique ID
 * @returns {Promise<object>}
 */
export function getFunctionPrams(db: object, funcOid: string): Promise<object>;
/**
 * Get Function Parameter Columns
 * @param {object} db - Database Connection
 * @param {string} funcOid - Function Unique ID
 * @returns {Promise<object>}
 */
export function getFunctionPramCols(db: object, funcOid: string): Promise<object>;
/**
 * Convert DB Object Metadata to CDS
 * @param {object} db - Database Connection
 * @param {object} object - DB Object Details
 * @param {object} fields - Object Fields
 * @param {object} constraints - Object Constraints
 * @param {string} type - DB Object type
 * @param {string} [schema] - Schema
 * @param {string} [parent] - Calling context which impacts formatting
 * @param {object} [parameters] - View Parameters
 * @returns {Promise<string>}
 */
export function formatCDS(db: object, object: object, fields: object, constraints: object, type: string, schema?: string, parent?: string, parameters?: object): Promise<string>;
/**
 * Get Geo Columns requires special lookup and details
 * @param {object} db - Database Connection
 * @param {object} object - DB Object Details
 * @param {object} field - Object Field
 * @param {string} type - View or table
 * @returns {Promise<string>} GEO SRS ID
 */
export function getGeoColumns(db: object, object: object, field: object, type: string): Promise<string>;
export function parseSQLOptions(output: any, cdsSource: any): any;
export namespace options {
    let useHanaTypes: boolean;
    let noColons: boolean;
    let keepPath: boolean;
    let useExists: boolean;
}
export namespace results {
    const synonyms: any;
}
/**
 * Get Table Constraints
 */
export type objType = {
    SCHEMA_NAME: string;
    TABLE_NAME: string;
};
