import { type RBACConfig } from "../types/index";
/**
 * Validates the RBAC configuration object.
 *
 * @param config - Partial configuration object to validate
 * @throws {Error} When mode is invalid (must be 'static', 'dynamic' or 'hybrid')
 * @throws {Error} When permissions for a role is not an array
 * @throws {Error} When role inheritance is not an array
 * @throws {Error} When inherited role doesn't exist in config
 * @returns {RBACConfig} Validated configuration object
 *
 * @remarks
 * This function performs several validations:
 * - Validates mode is one of: static, dynamic, or hybrid
 * - Warns if apiEndpoint is missing for dynamic/hybrid modes
 * - Validates roles structure including:
 *   - Permissions array format
 *   - Role inheritance references
 */
export declare function validateConfig(config: Partial<RBACConfig>): RBACConfig;
