/**
 * PostHog-specific ACP extensions.
 *
 * These follow the ACP extensibility model:
 * - Custom notification methods are prefixed with `_posthog/`
 * - Custom data can be attached via `_meta` fields
 *
 * See: https://agentclientprotocol.com/docs/extensibility
 */
/**
 * Custom notification methods for PostHog-specific events.
 * Used with AgentSideConnection.extNotification() or Client.extNotification()
 */
declare const POSTHOG_NOTIFICATIONS: {
    /** Git branch was created for a task */
    readonly BRANCH_CREATED: "_posthog/branch_created";
    /** Task run has started execution */
    readonly RUN_STARTED: "_posthog/run_started";
    /** Task has completed (success or failure) */
    readonly TASK_COMPLETE: "_posthog/task_complete";
    /** Agent finished processing a turn (prompt returned, waiting for next input) */
    readonly TURN_COMPLETE: "_posthog/turn_complete";
    /** Background/task-notification-triggered reply finished. Same rendering
     * effect as TURN_COMPLETE (closes out the current turn) without touching
     * the tracked prompt lifecycle that TURN_COMPLETE drives on the agent side. */
    readonly BACKGROUND_TURN_COMPLETE: "_posthog/background_turn_complete";
    /** Error occurred during task execution */
    readonly ERROR: "_posthog/error";
    /** Console/log output from the agent */
    readonly CONSOLE: "_posthog/console";
    /** Maps taskRunId to agent's sessionId and adapter type (for resumption) */
    readonly SDK_SESSION: "_posthog/sdk_session";
    /** Git checkpoint captured for handoff */
    readonly GIT_CHECKPOINT: "_posthog/git_checkpoint";
    /** Agent mode changed (interactive/background) */
    readonly MODE_CHANGE: "_posthog/mode_change";
    /** Request to resume a session from previous state */
    readonly SESSION_RESUME: "_posthog/session/resume";
    /** User message sent from client to agent */
    readonly USER_MESSAGE: "_posthog/user_message";
    /** Request to cancel current operation */
    readonly CANCEL: "_posthog/cancel";
    /** Request to close the session */
    readonly CLOSE: "_posthog/close";
    /** Agent status update (thinking, working, etc.) */
    readonly STATUS: "_posthog/status";
    /** Structured backend progress notification; events in the same turn group into one card on the client */
    readonly PROGRESS: "_posthog/progress";
    /** Task-level notification (progress, milestones) */
    readonly TASK_NOTIFICATION: "_posthog/task_notification";
    /** Marks a boundary for log compaction */
    readonly COMPACT_BOUNDARY: "_posthog/compact_boundary";
    /** Token usage update for a session turn */
    readonly USAGE_UPDATE: "_posthog/usage_update";
    /** PostHog products used during a turn (derived from MCP exec calls) */
    readonly RESOURCES_USED: "_posthog/resources_used";
    /** Response to a relayed permission request (plan approval, question) */
    readonly PERMISSION_RESPONSE: "_posthog/permission_response";
    /** Permission request raised by the agent, persisted to the log so a reconnecting client can recover its requestId */
    readonly PERMISSION_REQUEST: "_posthog/permission_request";
    /** Permission request resolved, persisted so a reconnecting client can tell it is no longer pending */
    readonly PERMISSION_RESOLVED: "_posthog/permission_resolved";
    /** RTK output-compression token savings tallied at the end of a run */
    readonly RTK_SAVINGS: "_posthog/rtk_savings";
    /** Latest native Codex goal state, persisted so cold cloud resumes can restore it. */
    readonly CODEX_GOAL: "_posthog/codex_goal";
    /** Desktop → sandbox reply to an MCP relay request (docs/cloud-mcp-relay.md). */
    readonly MCP_RESPONSE: "_posthog/mcp_response";
};
type NativeGoalState = {
    objective: string;
    status: "active" | "paused" | "blocked" | "usageLimited" | "budgetLimited" | "complete";
};
/**
 * Custom request methods for PostHog-specific operations that need a response
 * (request/response, not fire-and-forget). Used with
 * ClientSideConnection.extMethod() on the sender and Agent.extMethod() on the
 * receiver.
 */
declare const POSTHOG_METHODS: {
    /**
     * Client requests a session refresh between turns. Payload may include
     * `mcpServers` to trigger a resume-with-new-options reinit; future fields
     * can extend this without adding new methods. Returns once the refresh has
     * completed so the caller can safely send the next prompt.
     */
    readonly REFRESH_SESSION: "_posthog/refresh_session";
};
type PosthogNotification = (typeof POSTHOG_NOTIFICATIONS)[keyof typeof POSTHOG_NOTIFICATIONS];
type PosthogMethod = (typeof POSTHOG_METHODS)[keyof typeof POSTHOG_METHODS];
/** Dispatcher check for incoming `extNotification` calls on the agent side. */
declare function isNotification(method: string | undefined, expected: PosthogNotification): boolean;
/** Dispatcher check for incoming `extMethod` calls on the agent side. */
declare function isMethod(method: string | undefined, expected: PosthogMethod): boolean;

export { type NativeGoalState, POSTHOG_METHODS, POSTHOG_NOTIFICATIONS, isMethod, isNotification };
