import type { CorePermissionsConfig, ThemePermissionsConfig, PermissionConfig, PermissionUISection, Permission, ResolvedPermission, EntityPermissionsConfig } from './types';
/**
 * Merge configuration from core with theme and entities
 *
 * Order of precedence:
 * 1. Core config (base)
 * 2. Theme overrides (override specific properties)
 * 3. Theme features (add new permissions)
 * 4. Entity configs (add entity permissions)
 */
export declare function mergePermissionsConfig(coreConfig: CorePermissionsConfig, themeConfig: ThemePermissionsConfig | null, entityPermissions: PermissionConfig[]): {
    permissions: ResolvedPermission[];
    uiSections: PermissionUISection[];
    disabledIds: Set<Permission>;
};
/**
 * Extract permissions from EntityConfig
 *
 * Converts entity permissions configuration into PermissionConfig objects
 * that can be merged into the global permissions registry.
 *
 * @param entitySlug - The entity identifier (e.g., "customers", "tasks")
 * @param entityLabel - Human-readable entity name for UI
 * @param permissions - Entity permissions configuration
 * @returns Array of PermissionConfig objects
 *
 * @example
 * ```typescript
 * const perms = extractEntityPermissions(
 *   'customers',
 *   'Customers',
 *   {
 *     actions: [
 *       { action: 'create', label: 'Create customers', roles: ['owner', 'admin'] }
 *     ]
 *   }
 * )
 * // Returns: [{ id: 'customers.create', label: 'Create customers', ... }]
 * ```
 */
export declare function extractEntityPermissions(entitySlug: string, entityLabel: string, permissions: EntityPermissionsConfig): PermissionConfig[];
//# sourceMappingURL=merge.d.ts.map