/**
 * This method is exposed to the API and internally for system operations.  If the op is being made internally, the `opObj`
 * argument is not passed and, therefore, no permissions are used to filter the final schema metadata results.
 * @param opObj
 * @returns {Promise<{}|HdbError>}
 */
export function describeAll(opObj?: {}): Promise<{} | HdbError>;
/**
 * This method will return the metadata for a table - if `attrPerms` are passed as an argument (or included in the `describeTableObject` arg),
 * the final results w/ be filtered based on those permissions
 *
 * @param describeTableObject
 * @param attrPerms - optional - permissions for the role requesting metadata for the table used when chained to other
 * internal operations.  If this method is hit via the API, perms will be grabbed from the describeTableObject which
 * includes the users role and permissions.
 * @returns {Promise<{}|*>}
 */
declare function descTable(describeTableObject: any, attrPerms: any): Promise<{} | any>;
/**
 * Returns the schema metadata filtered based on permissions for the user role making the request
 *
 * @param describeSchemaObject
 * @returns {Promise<{}|[]>}
 */
export function describeSchema(describeSchemaObject: any): Promise<{} | []>;
export { descTable as describeTable };
