/**
 * CorePresence — record the most-recent core CLI invocation so the daemon
 * (or anything reading from Telegram) knows which cwd to address.
 *
 * v1.11.0 — Core ↔ Agent Bridge (Phase 4).
 *
 * File: `~/.openlife/core-presence.json` (mode 0o600, atomic).
 *
 * The file is written on every `openlife <command>` invocation. TTL is
 * advisory — readers should treat presence as fresh if `invokedAt` is
 * within 60s, stale beyond that. Multiple concurrent invocations
 * last-writer-wins (acceptable: the goal is "most recent context").
 */
export declare const PRESENCE_FRESH_S = 60;
export interface CorePresenceRecord {
    schemaVersion: 1;
    pid: number;
    cwd: string;
    invokedAt: string;
    command: string;
    argv: string[];
}
export declare const CorePresence: {
    /**
     * Publish presence for the current process. Best-effort: failures are
     * logged in debug mode but never throw — presence is advisory.
     *
     * Pass the resolved Commander subcommand string for `command` (e.g.
     * "agent push", "bridge status"). When unavailable, falls back to argv[2].
     */
    publish(command?: string): void;
    /** Read the most recent presence record (or null if missing/unparseable). */
    read(): CorePresenceRecord | null;
    /** Compute age of the presence record in seconds (null if missing). */
    ageSeconds(): number | null;
    /** Is the presence record fresh enough for the daemon to trust the cwd? */
    isFresh(): boolean;
    /** Exposed for tests. */
    _file(): string;
};
