/** Default lookback when backfilling in local/development (frequent re-runs). */
export declare const DEV_BACKFILL_DEFAULT_SINCE_DAYS = 90;
export type EvalDenormBackfillScope = {
    /** Inclusive lower bound on eval_results.created_at; null = no lower bound. */
    createdAfter: Date | null;
    /** Exclusive upper bound on eval_results.created_at; null = no upper bound. */
    createdBefore: Date | null;
    sinceDays: number | null;
    allHistory: boolean;
    /** Human-readable reason (e.g. development default). */
    reason: string;
};
export type ResolveBackfillScopeOptions = {
    sinceDays?: number;
    allHistory?: boolean;
    createdAfter?: Date | string;
    /** Process only rows with created_at strictly before this instant. */
    createdBefore?: Date | string;
};
/**
 * Local/development: NODE_ENV, TRUSYS_ENV, or APP_ENV.
 * Production/staging are not treated as development unless NODE_ENV=development.
 */
export declare function isDevelopmentEnvironment(): boolean;
/**
 * Resolves how much eval_results history to backfill.
 *
 * Precedence: explicit options → env → development default (90d) → full history.
 *
 * Env:
 * - EVAL_BACKFILL_ALL_HISTORY=1 — no date filter
 * - EVAL_BACKFILL_SINCE_DAYS=N — last N days (any environment)
 * - EVAL_BACKFILL_DEV_SINCE_DAYS=N — dev default override (default 90)
 */
export declare function resolveEvalDenormBackfillScope(options?: ResolveBackfillScopeOptions): EvalDenormBackfillScope;
export declare function scopeCreatedAfterIso(scope: EvalDenormBackfillScope): string | null;
export declare function scopeCreatedBeforeIso(scope: EvalDenormBackfillScope): string | null;
export declare function buildCreatedAtFilterSql(scope: EvalDenormBackfillScope): string;
/** ClickHouse eval_results.created_at filter (DateTime). */
export declare function buildClickhouseCreatedAtFilterSql(scope: EvalDenormBackfillScope): string;
//# sourceMappingURL=backfillScope.d.ts.map