/**
 * Type-safe context examples for ensemble conditional activation
 *
 * This file demonstrates how to use the ConditionContext interface
 * when writing activation conditions for ensemble elements.
 *
 * NOTE: Condition evaluation is not yet implemented. These examples
 * show the correct syntax for when evaluation is added in the future.
 *
 * @see {@link ConditionContext} for available context properties
 * @see docs/guides/ensembles.md#conditional-activation for full guide
 *
 * FIX: DMCP-SEC-006 - No security logging required
 * RATIONALE: This file contains ONLY documentation examples and constant declarations.
 * All exports are readonly example data (const objects and functions that return test fixtures).
 * No security-relevant operations are performed.
 * Security logging occurs in EnsembleManager.ts when ensembles are actually activated.
 *
 * VERIFICATION: All exports are const objects or test helper functions
 * @security-audit-suppress DMCP-SEC-006
 */
import type { ConditionContext } from './types.js';
/**
 * Example context object structure
 *
 * This shows what a real ConditionContext looks like at runtime.
 * All properties are readonly and type-safe.
 */
declare const exampleContext: ConditionContext;
/**
 * Demonstrates how to safely access context properties
 *
 * All properties are readonly and properly typed.
 * TypeScript will catch typos and invalid property access.
 */
declare function demonstrateTypeSafety(ctx: ConditionContext): void;
/**
 * Example of building context in tests
 *
 * Shows how to construct a valid ConditionContext for testing.
 */
declare function createTestContext(): ConditionContext;
/**
 * All example conditions organized by category
 *
 * Import and reference these in documentation and tests.
 */
export declare const CONDITIONS: {
    readonly element: {
        readonly highPriority: "priority >= 80";
        readonly criticalPriority: "priority > 90";
        readonly isPrimary: "role == 'primary'";
        readonly isSupport: "role == 'support'";
        readonly hasDependencies: "dependencies.length > 0";
        readonly noDependencies: "dependencies.length == 0";
        readonly criticalPrimaryElement: "priority > 90 && role == 'primary'";
        readonly supportWithDeps: "role == 'support' && dependencies.length > 0";
    };
    readonly context: {
        readonly isProduction: "context.environment == 'production'";
        readonly isDevelopment: "context.environment == 'development'";
        readonly securityReviewPassed: "context.security_review == true";
        readonly overrideEnabled: "context.override_enabled == true";
        readonly highRequestCount: "context.request_count > 100";
        readonly lowRequestCount: "context.request_count < 10";
        readonly strictMode: "context.mode == 'strict'";
        readonly adminUser: "context.user_role == 'admin'";
        readonly productionWithSecurity: "context.environment == 'production' && context.security_review == true";
        readonly adminOverride: "context.user_role == 'admin' || context.override_enabled == true";
    };
    readonly state: {
        readonly afterThreeElements: "state.activatedCount > 3";
        readonly firstElement: "state.activatedCount == 0";
        readonly lastElement: "state.activatedCount == state.totalElements - 1";
        readonly noFailures: "state.failedCount == 0";
        readonly hasFailures: "state.failedCount > 0";
        readonly tooManyFailures: "state.failedCount > 2";
        readonly halfwayDone: "state.activatedCount >= state.totalElements / 2";
        readonly mostlyDone: "state.activatedCount >= state.totalElements * 0.8";
        readonly lateStageNoCriticalFailures: "state.activatedCount > 5 && state.failedCount < 2";
    };
    readonly resources: {
        readonly fastExecution: "resources.executionTimeMs < 5000";
        readonly slowExecution: "resources.executionTimeMs > 10000";
        readonly smallContext: "resources.contextSize < 100";
        readonly largeContext: "resources.contextSize > 500";
        readonly fewInstances: "resources.cachedInstances < 10";
        readonly manyInstances: "resources.cachedInstances > 50";
        readonly resourcesAvailable: "resources.executionTimeMs < 20000 && resources.contextSize < 800";
        readonly approachingLimits: "resources.executionTimeMs > 25000 || resources.contextSize > 900";
    };
    readonly ownership: {
        readonly securityCheckerApproved: "contextOwners.security_review == 'security-checker'";
        readonly configLoaderSet: "contextOwners.environment == 'config-loader'";
        readonly trustedSecurityReview: "context.security_review == true && contextOwners.security_review == 'security-checker'";
        readonly authenticatedAdmin: "context.user_role == 'admin' && contextOwners.user_role == 'auth-handler'";
    };
    readonly complex: {
        readonly securityRequirementsMet: string;
        readonly progressiveActivation: string;
        readonly allowedOverride: string;
        readonly performanceGated: string;
        readonly roleBased: string;
    };
};
/**
 * Example context for documentation and testing
 */
export { exampleContext, createTestContext };
/**
 * Type-safe context demonstration
 */
export { demonstrateTypeSafety };
//# sourceMappingURL=context-examples.d.ts.map