/**
 * Commit the agent's instrumented event plan to the project's Amplitude
 * tracking plan as *planned* events.
 *
 * Runs after the agent finishes instrumenting (i.e. `.amplitude-events.json`
 * is populated and `track()` calls are written).
 *
 * Step 1 — POST `/v1/planned-events` on the wizard proxy (OAuth Bearer, same
 * host as `createAmplitudeApp`). If the route is not deployed yet (HTTP 404),
 * falls back to the Amplitude MCP `create_events` tool with `wasPlanned: true`.
 *
 * Step 2 — Amplitude MCP `update_event` to attach descriptions (no HTTP
 * equivalent yet).
 *
 * Errors are swallowed into a result object — a failure here should never
 * derail the happy-path outro.
 */
import type { AmplitudeZone } from './constants.js';
export interface PlannedEventInput {
    name: string;
    description: string;
}
export interface CommitPlannedEventsResult {
    attempted: number;
    created: number;
    described: number;
    error?: string;
}
export interface CommitPlannedEventsOptions {
    accessToken: string;
    appId: string;
    events: PlannedEventInput[];
    /** Used to resolve `getWizardProxyBase` for POST `/v1/planned-events`. */
    zone: AmplitudeZone;
    abortSignal?: AbortSignal;
}
/**
 * Commit the event plan to the Amplitude tracking plan as planned events.
 *
 * Returns counts instead of throwing — failure here must not break the outro.
 */
export declare function commitPlannedEvents(opts: CommitPlannedEventsOptions): Promise<CommitPlannedEventsResult>;
