import { z } from "zod/v4"; import { type RecurringPreview } from "./remote-recurring.js"; export declare const recurringSurfaceSchemas: { preview: z.ZodObject<{ request: z.ZodObject<{ contractVersion: z.ZodLiteral<1>; skill: z.ZodString; input: z.ZodRecord; args: z.ZodArray; runtime: z.ZodObject<{ timeoutMs: z.ZodNumber; maxOutputBytes: z.ZodNumber; maxAttempts: z.ZodNumber; connectorOperations: z.ZodArray>; }, z.core.$strict>; everyMinutes: z.ZodNumber; startsAt: z.ZodString; expiresAt: z.ZodString; dispatchGraceSeconds: z.ZodNumber; period: z.ZodLiteral<"utc-day">; inFlightPolicy: z.ZodLiteral<"finish-authorized-attempt">; maxCreditsPerRun: z.ZodNumber; maxCreditsPerPeriod: z.ZodNumber; maxCreditsTotal: z.ZodNumber; maxOccurrencesPerPeriod: z.ZodNumber; maxOccurrencesTotal: z.ZodNumber; }, z.core.$strict>; userId: z.ZodOptional; membershipId: z.ZodOptional; }, z.core.$strict>; draft: z.ZodObject<{ draftId: z.ZodString; userId: z.ZodOptional; membershipId: z.ZodOptional; }, z.core.$strict>; activate: z.ZodObject<{ draftId: z.ZodString; approval: z.ZodObject<{ contractVersion: z.ZodLiteral<1>; acceptedTermsSha256: z.ZodString; acceptance: z.ZodLiteral<"authorize-recurring-credit-use">; idempotencyKey: z.ZodString; }, z.core.$strict>; recoveryDirectory: z.ZodString; email: z.ZodString; code: z.ZodOptional; confirm: z.ZodOptional; userId: z.ZodOptional; membershipId: z.ZodOptional; }, z.core.$strict>; list: z.ZodObject<{ limit: z.ZodOptional; cursor: z.ZodOptional; userId: z.ZodOptional; membershipId: z.ZodOptional; }, z.core.$strict>; get: z.ZodObject<{ consentId: z.ZodString; userId: z.ZodOptional; membershipId: z.ZodOptional; }, z.core.$strict>; occurrences: z.ZodObject<{ consentId: z.ZodString; limit: z.ZodOptional; cursor: z.ZodOptional; userId: z.ZodOptional; membershipId: z.ZodOptional; }, z.core.$strict>; revoke: z.ZodObject<{ consentId: z.ZodString; recoveryDirectory: z.ZodString; confirm: z.ZodLiteral; userId: z.ZodOptional; membershipId: z.ZodOptional; }, z.core.$strict>; recover: z.ZodObject<{ recoveryDirectory: z.ZodString; confirm: z.ZodOptional; email: z.ZodOptional; code: z.ZodOptional; userId: z.ZodOptional; membershipId: z.ZodOptional; }, z.core.$strict>; verification: z.ZodObject<{ draftId: z.ZodString; email: z.ZodString; confirm: z.ZodLiteral; userId: z.ZodOptional; membershipId: z.ZodOptional; }, z.core.$strict>; }; export type RecurringSurfaceAction = keyof typeof recurringSurfaceSchemas; export declare const recurringSurfaceOperations: readonly [{ readonly action: "preview"; readonly name: "preview_recurring_consent"; readonly title: "Preview recurring consent"; readonly cli: "preview"; readonly read: false; readonly recovery: false; }, { readonly action: "draft"; readonly name: "get_recurring_draft"; readonly title: "Read original recurring draft"; readonly cli: "draft"; readonly read: true; readonly recovery: false; }, { readonly action: "activate"; readonly name: "activate_recurring_consent"; readonly title: "Authorize recurring credit use"; readonly cli: "activate"; readonly read: false; readonly recovery: true; }, { readonly action: "list"; readonly name: "list_recurring_consents"; readonly title: "List recurring consents"; readonly cli: "list"; readonly read: true; readonly recovery: false; }, { readonly action: "get"; readonly name: "get_recurring_consent"; readonly title: "Inspect recurring consent and budgets"; readonly cli: "get"; readonly read: true; readonly recovery: false; }, { readonly action: "occurrences"; readonly name: "list_recurring_occurrences"; readonly title: "Inspect recurring occurrence history"; readonly cli: "occurrences"; readonly read: true; readonly recovery: false; }, { readonly action: "revoke"; readonly name: "revoke_recurring_consent"; readonly title: "Revoke recurring authority"; readonly cli: "revoke"; readonly read: false; readonly recovery: true; }, { readonly action: "recover"; readonly name: "recover_recurring_consent"; readonly title: "Reconcile original recurring request"; readonly cli: "recover"; readonly read: false; readonly recovery: true; }, { readonly action: "verification"; readonly name: "request_recurring_verification"; readonly title: "Request recurring approval verification"; readonly cli: "verification"; readonly read: false; readonly recovery: false; }]; /** The host must obtain explicit acceptance and a real human OTP. A boolean alone * never grants recurring authority. Host request history may retain supplied OTPs. */ export declare function recurringMcpSchema(action: RecurringSurfaceAction): z.ZodObject<{ request: z.ZodObject<{ contractVersion: z.ZodLiteral<1>; skill: z.ZodString; input: z.ZodRecord; args: z.ZodArray; runtime: z.ZodObject<{ timeoutMs: z.ZodNumber; maxOutputBytes: z.ZodNumber; maxAttempts: z.ZodNumber; connectorOperations: z.ZodArray>; }, z.core.$strict>; everyMinutes: z.ZodNumber; startsAt: z.ZodString; expiresAt: z.ZodString; dispatchGraceSeconds: z.ZodNumber; period: z.ZodLiteral<"utc-day">; inFlightPolicy: z.ZodLiteral<"finish-authorized-attempt">; maxCreditsPerRun: z.ZodNumber; maxCreditsPerPeriod: z.ZodNumber; maxCreditsTotal: z.ZodNumber; maxOccurrencesPerPeriod: z.ZodNumber; maxOccurrencesTotal: z.ZodNumber; }, z.core.$strict>; userId: z.ZodOptional; membershipId: z.ZodOptional; }, z.core.$strict> | z.ZodObject<{ draftId: z.ZodString; userId: z.ZodOptional; membershipId: z.ZodOptional; }, z.core.$strict> | z.ZodObject<{ limit: z.ZodOptional; cursor: z.ZodOptional; userId: z.ZodOptional; membershipId: z.ZodOptional; }, z.core.$strict> | z.ZodObject<{ consentId: z.ZodString; userId: z.ZodOptional; membershipId: z.ZodOptional; }, z.core.$strict> | z.ZodObject<{ recoveryDirectory: z.ZodString; confirm: z.ZodOptional; email: z.ZodOptional; code: z.ZodOptional; userId: z.ZodOptional; membershipId: z.ZodOptional; }, z.core.$strict>; export interface RecurringInteraction { accept(draft: RecurringPreview): Promise; verification(email: string, requestCode: () => Promise): Promise; } /** Shared CLI/MCP orchestration only. The SDK owns wire validation/transport; the * selected server owns grants, freshness, prices, financial state and execution. */ export declare function executeRecurringSurface(action: RecurringSurfaceAction, raw: unknown, env?: Record, interaction?: RecurringInteraction): Promise | import("./remote-recurring-contract.js").RecurringPage | { recoveryDirectory: string; operation: "activate" | "revoke"; outcomeUnknown: boolean; phase: "prepared" | "pending" | "observed"; result: unknown; } | { cancelled: boolean; activated: boolean; } | { verificationRequested: boolean; deliveryConfirmed: boolean; draftId: string; activated: boolean; cancelled?: undefined; outcomeUnknown?: undefined; recoveryDirectory?: undefined; } | { recoveryDirectory: string; phase: string; outcomeUnknown: boolean; cancelled: boolean; activated: boolean; verificationRequested?: undefined; deliveryConfirmed?: undefined; draftId?: undefined; } | { cancelled: boolean; outcomeUnknown: boolean; recoveryDirectory: string; verificationRequested?: undefined; deliveryConfirmed?: undefined; draftId?: undefined; activated?: undefined; } | null>;