/**
 * Permission Handler Factory
 *
 * Factory for creating permission handlers and chains.
 *
 * @module declarative-api/permission-chain
 */
import type { ResourceType, IPermissionHandler, IPermissionChain, IPermissionHandlerFactory } from '../../../lib/runtime-web/types/declarative-api';
/**
 * Factory for creating permission handlers and chains.
 *
 * Provides a centralized way to create handlers for specific resource types
 * and to create chains with all default handlers.
 *
 * @example
 * ```typescript
 * // Create a handler for a specific resource type
 * const handler = PermissionHandlerFactory.createForResourceType('dynamodb:table');
 *
 * // Create a chain with all default handlers
 * const chain = PermissionHandlerFactory.createDefaultChain();
 * ```
 *
 * Validates: Requirements 5.2, 5.4
 */
export declare class PermissionHandlerFactory implements IPermissionHandlerFactory {
    /**
     * Create a handler for a specific resource type.
     *
     * @param resourceType - The resource type to create a handler for
     * @returns The created handler
     * @throws Error if no handler exists for the resource type
     */
    createForResourceType(resourceType: ResourceType): IPermissionHandler;
    /**
     * Create a chain with all default handlers.
     *
     * @returns A permission chain with all default handlers
     */
    createDefaultChain(): IPermissionChain;
    /**
     * Static method to create a handler for a specific resource type.
     *
     * @param resourceType - The resource type to create a handler for
     * @returns The created handler
     */
    static createForResourceType(resourceType: ResourceType): IPermissionHandler;
    /**
     * Static method to create a chain with all default handlers.
     *
     * @returns A permission chain with all default handlers
     */
    static createDefaultChain(): IPermissionChain;
}
