import type { Config } from '../../../config/schema.js';
import { type DreamingPhaseId } from './constants.js';
export type DreamingLightConfig = {
    enabled: boolean;
    cron: string;
    lookbackDays: number;
    limit: number;
    dedupeSimilarity: number;
};
export type DreamingDeepConfig = {
    enabled: boolean;
    cron: string;
    minScore: number;
    minRecallCount: number;
    minUniqueQueries: number;
    limit: number;
    recencyHalfLifeDays: number;
    maxAgeDays: number;
};
export type DreamingRemConfig = {
    enabled: boolean;
    cron: string;
    lookbackDays: number;
    limit: number;
    minPatternStrength: number;
};
export type DreamingResolvedConfig = {
    enabled: boolean;
    frequency: string;
    timezone?: string;
    phases: {
        light: DreamingLightConfig;
        deep: DreamingDeepConfig;
        rem: DreamingRemConfig;
    };
    deep: DreamingDeepConfig;
};
/**
 * Resolve the full three-phase dreaming config from the app Config.
 *
 * Reads through `any` so it can ship independently of the schema evolution.
 * Expected shape: `agents.defaults.memory.dreaming.{ enabled, frequency, timezone, phases.{light,deep,rem}.* }`
 */
export declare function resolveDreamingConfig(cfg: Config | undefined): DreamingResolvedConfig;
/** Get the cron expression for a specific phase from resolved config. */
export declare function getPhaseCron(config: DreamingResolvedConfig, phase: DreamingPhaseId): string;
/** Check if a specific phase is enabled (global + phase-level). */
export declare function isPhaseEnabled(config: DreamingResolvedConfig, phase: DreamingPhaseId): boolean;
