/**
 * ExternalizationPolicy — execution/delivery context that shapes how effects
 * may or may not be externalized.
 *
 * Not the same as an Observer lens (which shapes what you can *see*).
 * An externalization policy shapes what the system is *allowed to do* with
 * outbound effects.
 *
 * @module ExternalizationPolicy
 * @see docs/design/effect-emission-v1.md
 */
export type DeliveryMode = 'live' | 'replay' | 'inspect';
export type DeliveryOutcome = 'delivered' | 'suppressed' | 'failed' | 'skipped';
export type ExternalizationPolicy = {
    mode: DeliveryMode;
    suppressExternal: boolean;
};
/**
 * Valid delivery modes.
 */
export declare const DELIVERY_MODES: readonly string[];
/**
 * Valid delivery outcomes.
 */
export declare const DELIVERY_OUTCOMES: readonly string[];
export declare const OUTCOME_DELIVERED: 'delivered';
export declare const OUTCOME_SUPPRESSED: 'suppressed';
export declare const OUTCOME_FAILED: 'failed';
/**
 * Validates and narrows a delivery outcome value.
 */
export declare function validateOutcome(value: string): DeliveryOutcome;
/**
 * Creates an immutable ExternalizationPolicy.
 */
export declare function createExternalizationPolicy(params: {
    mode: string;
    suppressExternal: boolean;
}): Readonly<ExternalizationPolicy>;
/** Live execution — effects are delivered normally. */
export declare const LIVE_LENS: Readonly<ExternalizationPolicy>;
/** Replay execution — external delivery is suppressed. */
export declare const REPLAY_LENS: Readonly<ExternalizationPolicy>;
/** Inspect execution — dry-run, external delivery is suppressed. */
export declare const INSPECT_LENS: Readonly<ExternalizationPolicy>;
