/**
 * Entity System Testing Utilities
 *
 * Comprehensive testing utilities for the WordPress-like Entity System.
 * Includes mock generators, test helpers, and validation utilities.
 */
import type { EntityConfig, EntityField, PlanType, UserFlag } from './types';
import type { UserRole } from '../../types/user.types';
/**
 * Generate mock entity configuration for testing
 */
export declare function createMockEntityConfig(overrides?: Partial<EntityConfig>): EntityConfig;
/**
 * Generate mock entity data for testing
 */
export declare function createMockEntityData(entityConfig: EntityConfig, count?: number): Record<string, unknown>[];
/**
 * Generate mock value for a specific field
 */
export declare function generateMockFieldValue(field: EntityField): unknown;
/**
 * Create mock user for testing permissions
 */
export declare function createMockUser(role?: UserRole, plan?: PlanType, flags?: UserFlag[]): {
    id: string;
    role: any;
    plan: PlanType;
    flags: UserFlag[];
    email: string;
};
/**
 * Test entity configuration validation
 */
export declare function validateEntityConfig(config: EntityConfig): {
    valid: boolean;
    errors: string[];
};
/**
 * Test entity access system (permission system removed)
 */
export declare function testEntityAccess(entityConfig: EntityConfig): {
    passed: boolean;
    results: Array<{
        test: string;
        passed: boolean;
        message: string;
    }>;
};
/**
 * Performance test for entity operations
 */
export declare function performanceTestEntity(entityConfig: EntityConfig, operations?: Array<'create' | 'read' | 'update' | 'delete'>): Promise<{
    operation: string;
    averageTime: number;
    minTime: number;
    maxTime: number;
    iterations: number;
}[]>;
/**
 * Integration test for complete entity workflow
 */
export declare function integrationTestEntity(entityConfig: EntityConfig): Promise<{
    passed: boolean;
    steps: Array<{
        step: string;
        passed: boolean;
        duration: number;
        error?: string;
    }>;
}>;
/**
 * Clean up test entities from registry
 */
export declare function cleanupTestEntities(): void;
/**
 * Generate comprehensive test report
 */
export declare function generateTestReport(entityConfig: EntityConfig, validationResults: ReturnType<typeof validateEntityConfig>, accessResults: ReturnType<typeof testEntityAccess>, integrationResults: Awaited<ReturnType<typeof integrationTestEntity>>): string;
//# sourceMappingURL=testing.d.ts.map