/**
 * Verifies permissions and restrictions for a SQL operation based on the user's assigned role.
 * @param ast - The SQL statement in Syntax Tree form.
 * @param userObject - The user and role specification
 * @param operation - The operation specified in the call.
 * @returns {null | PermissionResponseObject} - null if permissions match, errors returned in the PermissionResponseObject
 */
export declare function verifyPermsAST(ast: any, userObject: any, operation: any): any;
/**
 * Verifies permissions and restrictions for the NoSQL operation based on the user's assigned role.
 *
 * @param requestJson - The request body as json
 * @param operation - The name of the operation specified in the request.
 * @returns { null | PermissionResponseObject } - null if permissions match, errors are consolidated into PermissionResponseObj.
 */
export declare function verifyPerms(requestJson: any, operation: any, _options?: any): any;
/**
 * Checks if the user's role has the required permissions for the operation specified.
 * @param userObject - the hdb_user specified in the request body
 * @param op - the name of the operation
 * @param schemaTableMap - A map in the format [schemaKey, [tables]].
 * @returns {PermissionResponseObject | null} - null value if permissions match, PermissionResponseObject if not.
 */
export declare function hasPermissions(userObject: any, op: any, schemaTableMap: any, permsResponse: any, action: any): any;
/**
 * Compare the attributes specified in the call with the user's role.  If there are permissions in the role,
 * ensure that the permission required for the operation matches the permission in the role.
 * @param recordAttributes - An array of the attributes specified in the operation
 * @param roleAttributePermissions - A Map of each permission in the user role, specified as [tableName, [attribute_permissions]].
 * @param operation
 * @param tableName - name of the table being checked
 * @param schemaName - name of schema being checked
 * @param permsResponse - PermissionResponseObject instance being used to track permissions issues to return in response, if necessary
 * @returns {} - this function does not return a value - it updates the permsResponse which is checked later
 */
export declare function checkAttributePerms(recordAttributes: any, roleAttributePermissions: any, operation: any, tableName: any, schemaName: any, permsResponse: any, action: any): any;
/**
 * Pull the attribute permissions for the schema/table.  Will always return a map, even empty or on error.
 * @param jsonHdbUser - The hdb_user from the json request body
 * @param operationSchema - The schema specified in the request
 * @param table - The table specified.
 * @returns {Map} A Map of attribute permissions of the form [attribute_name, attributePermission];
 */
export declare function getAttributePermissions(rolePerms: any, operationSchema: any, table: any): Map<any, any>;
export declare function verifyBulkLoadAttributePerms(rolePerms: any, op: any, action: any, operationSchema: any, operationTable: any, attributes: any, permsResponse: any): void;
