/**
 * PermissionRegistry
 *
 * Central registry for managing app permissions at runtime.
 * Supports glob patterns for permission matching:
 * - "fs/read" matches exactly "fs/read"
 * - "fs/*" matches any permission starting with "fs/"
 * - "*" matches all permissions
 */
export declare class PermissionRegistry {
    private appPermissions;
    /**
     * Register permissions for an app (called during install/load)
     */
    registerApp(appId: string, permissions: string[]): void;
    /**
     * Unregister app permissions (called during uninstall)
     */
    unregisterApp(appId: string): void;
    /**
     * Check if an app has a specific permission.
     * Supports glob patterns in the app's granted permissions.
     */
    hasPermission(appId: string, requiredPermission: string): boolean;
    /**
     * Match a glob pattern against a permission.
     * - "*" matches everything
     * - "namespace/*" matches anything starting with "namespace/"
     */
    private matchesGlob;
    /**
     * Get all permissions for an app
     */
    getPermissions(appId: string): string[];
    /**
     * Check if an app is registered
     */
    hasApp(appId: string): boolean;
}
/**
 * Register an event's required permission
 */
export declare function registerEventPermission(eventName: string, permission: string): void;
/**
 * Get the permission required to subscribe to an event
 */
export declare function getEventPermission(eventName: string): string | undefined;
/**
 * Get all registered event permissions
 */
export declare function getAllEventPermissions(): Map<string, string>;
//# sourceMappingURL=PermissionRegistry.d.ts.map