import { type Config } from '../config/schema.js';
export type SessionResetFn = (sessionKey: string) => Promise<{
    sessionId: string;
    previousSessionId: string;
} | null>;
export type InitSessionTurnResult = {
    sessionKey: string;
    sessionId?: string;
    previousSessionId?: string;
    isNewSession: boolean;
    resetTriggered: boolean;
    staleRollover: boolean;
    bodyStripped: string;
    bareReset: boolean;
    ackMessage?: string;
};
export type InitSessionTurnOptions = {
    cfg: Config;
    sessionKey: string;
    body?: string;
    resetSession: SessionResetFn;
    /** When true, skip idle/daily implicit rollover (provider-owned CLI sessions). */
    skipImplicitExpiry?: boolean;
};
/**
 * Turn-start session init: match `resetTriggers`, evaluate freshness, archive +
 * assign new `sessionId` when stale or explicitly reset. OpenClaw `initSessionState`
 * equivalent for xopc direct + channel paths.
 */
export declare function initSessionTurn(opts: InitSessionTurnOptions): Promise<InitSessionTurnResult>;
