export interface DeferredFeedback { /** Stable id derived from timestamp + random suffix; matches the filename. */ id: string; /** ISO-8601 timestamp captured at defer time. */ createdAt: string; /** Project name that originated the submission, or null if none was loaded. */ project: string | null; /** Scrubbed issue title. */ title: string; /** Scrubbed issue body. */ body: string; /** Inferred GitHub labels. */ labels: string[]; /** Authorship intent at defer time. Honored when the deferred entry is * later approved via the CLI. */ author: "user" | "bot"; /** Target tracker as `owner/name`. Absent on entries written before * plugin routing existed; those approve against ue-mcp core. */ repo?: string; /** One line on why the entry is aimed at that tracker, shown by * `feedback show`/`review` so a human can sanity-check the routing. */ routing?: string; /** Short token a human can read out of the accompanying `.md` and hand * back to the agent to authorize posting these exact bytes (#991). Only * written by the elicitation fallback path; deferred entries have none. */ confirmToken?: string; /** Why the elicitation gate could not be reached, when this entry exists * because of that rather than because the user chose defer mode. */ blockedReason?: string; } export declare function deferSubmission(payload: { title: string; body: string; labels: string[]; repo?: string; routing?: string; confirmToken?: string; blockedReason?: string; }, project: string | null, author: "user" | "bot"): DeferredFeedback; export declare function listDeferred(): DeferredFeedback[]; export declare function loadDeferred(id: string): DeferredFeedback | null; export declare function deleteDeferred(id: string): boolean; export declare function getPendingDir(): string;