import type { MemoryStore } from '../store/index.js';
import type { MemoryPipeline } from './types.js';
export interface EphemeralPipelineConfig {
    /** The store to read from. Writes never happen — backend can be read-only. */
    readonly store: MemoryStore;
    /** How many recent entries to load per turn. Default 20. */
    readonly loadCount?: number;
    /** Token reserve for prompt headers / safety margin. Default 256. */
    readonly reserveTokens?: number;
    /** Minimum memory-token budget before the picker skips injection. Default 100. */
    readonly minimumTokens?: number;
    /** Hard cap on entries selected per turn. Default: no cap. */
    readonly maxEntries?: number;
    /**
     * Optional tier filter — e.g. `['hot']` to load only pre-seeded "hot"
     * entries. Omitted means all tiers.
     */
    readonly tiers?: ReadonlyArray<'hot' | 'warm' | 'cold'>;
    /** Override for the formatter's header text. */
    readonly formatHeader?: string;
    /** Override for the formatter's footer text. */
    readonly formatFooter?: string;
}
/**
 * Build an ephemeral (read-only) pipeline. The returned object has
 * `write: undefined`; wire helpers no-op on it.
 */
export declare function ephemeralPipeline(config: EphemeralPipelineConfig): MemoryPipeline;
//# sourceMappingURL=ephemeral.d.ts.map