/**
 * /update state compiler
 *
 * Produces a compact, machine-friendly snapshot of the current working state so
 * future sessions can start from a small persisted summary instead of dragging
 * long conversational history forward.
 *
 * v1 is intentionally simple:
 *   - session stats (counts/tokens/cost)
 *   - current model
 *   - cwd + session file
 *   - browser capability flags inferred from live interactive-mode state
 *   - credential handle count
 *   - repo-local rules supplied by caller
 *   - optional user-provided focus text
 *
 * Written to: ~/.avis/self/memory/state/current-work.json
 */
import type { Model } from "@dotkaio/avis-ai";
export interface UpdateStateInput {
    cwd: string;
    sessionFile?: string;
    sessionId: string;
    sessionName?: string;
    model?: Model<any>;
    stats: {
        userMessages: number;
        assistantMessages: number;
        toolCalls: number;
        toolResults: number;
        totalMessages: number;
        tokens: {
            input: number;
            output: number;
            cacheRead: number;
            cacheWrite: number;
            total: number;
        };
        cost: number;
    };
    browser?: {
        enabled: boolean;
        sessionOpen: boolean;
        safetyMode?: string;
        credentialHandles?: number;
    };
    rules?: string[];
    focus?: string;
    notes?: string[];
}
export interface CompiledUpdateState {
    timestamp: string;
    workspace: string;
    session: {
        id: string;
        name?: string;
        file?: string;
    };
    model?: {
        provider: string;
        id: string;
        name?: string;
        reasoning?: boolean;
    };
    stats: UpdateStateInput["stats"];
    capabilities: {
        browser: {
            enabled: boolean;
            sessionOpen: boolean;
            safetyMode?: string;
            credentialHandles: number;
        };
    };
    rules: string[];
    focus?: string;
    notes: string[];
}
export declare function getUpdateStatePath(): string;
export declare function compileUpdateState(input: UpdateStateInput): CompiledUpdateState;
export declare function writeUpdateState(state: CompiledUpdateState): Promise<string>;
//# sourceMappingURL=update-state.d.ts.map