/** * Response/envelope schemas for the quotes admin OpenAPI routes (voyant#2276 — * step 3.5). Row schemas are authored from the Drizzle `$inferSelect` shapes in * `schema-sales.ts` (§17: `timestamp` columns serialize to ISO strings over the * wire; `date` columns serialize to date strings; integer columns stay numbers; * jsonb bags are open records / typed arrays). Enum columns reuse the exported * contract enum schemas so the documented values stay in lock-step with request * validation. Business logic and the wire envelopes (`{ data, total, limit, * offset }` lists, `{ data }` singles, `{ success: true }` deletes) are * unchanged; only the representation is documented here. */ import { z } from "zod"; export declare const errorResponseSchema: z.ZodObject<{ error: z.ZodString; }, z.core.$strip>; export declare const successResponseSchema: z.ZodObject<{ success: z.ZodLiteral; }, z.core.$strip>; export declare const idParamSchema: z.ZodObject<{ id: z.ZodString; }, z.core.$strip>; export declare const pipelineSchema: z.ZodObject<{ id: z.ZodString; entityType: z.ZodEnum<{ organization: "organization"; person: "person"; quote: "quote"; activity: "activity"; }>; name: z.ZodString; isDefault: z.ZodBoolean; sortOrder: z.ZodNumber; createdAt: z.ZodString; updatedAt: z.ZodString; }, z.core.$strip>; export declare const stageSchema: z.ZodObject<{ id: z.ZodString; pipelineId: z.ZodString; name: z.ZodString; sortOrder: z.ZodNumber; probability: z.ZodNullable; isClosed: z.ZodBoolean; isWon: z.ZodBoolean; isLost: z.ZodBoolean; createdAt: z.ZodString; updatedAt: z.ZodString; }, z.core.$strip>; export declare const quoteSchema: z.ZodObject<{ id: z.ZodString; title: z.ZodString; personId: z.ZodNullable; organizationId: z.ZodNullable; pipelineId: z.ZodString; stageId: z.ZodString; ownerId: z.ZodNullable; status: z.ZodEnum<{ open: "open"; won: "won"; lost: "lost"; archived: "archived"; }>; acceptedVersionId: z.ZodNullable; valueAmountCents: z.ZodNullable; valueCurrency: z.ZodNullable; paxCount: z.ZodNullable; expectedCloseDate: z.ZodNullable; source: z.ZodNullable; sourceRef: z.ZodNullable; lostReason: z.ZodNullable; tags: z.ZodArray; customFields: z.ZodRecord>; description: z.ZodNullable; createdBy: z.ZodNullable; updatedBy: z.ZodNullable; createdAt: z.ZodString; updatedAt: z.ZodString; stageChangedAt: z.ZodString; closedAt: z.ZodNullable; }, z.core.$strip>; export declare const quoteParticipantSchema: z.ZodObject<{ id: z.ZodString; quoteId: z.ZodString; personId: z.ZodString; role: z.ZodEnum<{ traveler: "traveler"; booker: "booker"; decision_maker: "decision_maker"; finance: "finance"; other: "other"; }>; isPrimary: z.ZodBoolean; createdAt: z.ZodString; }, z.core.$strip>; export declare const quoteProductSchema: z.ZodObject<{ id: z.ZodString; quoteId: z.ZodString; productId: z.ZodNullable; supplierServiceId: z.ZodNullable; nameSnapshot: z.ZodString; description: z.ZodNullable; quantity: z.ZodNumber; unitPriceAmountCents: z.ZodNullable; costAmountCents: z.ZodNullable; currency: z.ZodNullable; discountAmountCents: z.ZodNullable; createdAt: z.ZodString; updatedAt: z.ZodString; }, z.core.$strip>; export declare const quoteMediaSchema: z.ZodObject<{ id: z.ZodString; quoteId: z.ZodString; mediaType: z.ZodString; name: z.ZodString; url: z.ZodString; storageKey: z.ZodNullable; mimeType: z.ZodNullable; fileSize: z.ZodNullable; altText: z.ZodNullable; sortOrder: z.ZodNumber; createdAt: z.ZodString; updatedAt: z.ZodString; }, z.core.$strip>; export declare const quoteVersionSchema: z.ZodObject<{ id: z.ZodString; quoteId: z.ZodString; label: z.ZodNullable; status: z.ZodEnum<{ draft: "draft"; sent: "sent"; accepted: "accepted"; declined: "declined"; superseded: "superseded"; expired: "expired"; }>; supersedesId: z.ZodNullable; tripSnapshotId: z.ZodNullable; validUntil: z.ZodNullable; currency: z.ZodString; subtotalAmountCents: z.ZodNumber; taxAmountCents: z.ZodNumber; totalAmountCents: z.ZodNumber; notes: z.ZodNullable; sentAt: z.ZodNullable; viewedAt: z.ZodNullable; decidedAt: z.ZodNullable; createdAt: z.ZodString; updatedAt: z.ZodString; archivedAt: z.ZodNullable; }, z.core.$strip>; export declare const quoteVersionLineSchema: z.ZodObject<{ id: z.ZodString; quoteVersionId: z.ZodString; productId: z.ZodNullable; supplierServiceId: z.ZodNullable; description: z.ZodString; quantity: z.ZodNumber; unitPriceAmountCents: z.ZodNumber; totalAmountCents: z.ZodNumber; currency: z.ZodString; createdAt: z.ZodString; updatedAt: z.ZodString; }, z.core.$strip>; export declare const applyTripSnapshotResultSchema: z.ZodObject<{ quoteVersion: z.ZodObject<{ id: z.ZodString; quoteId: z.ZodString; label: z.ZodNullable; status: z.ZodEnum<{ draft: "draft"; sent: "sent"; accepted: "accepted"; declined: "declined"; superseded: "superseded"; expired: "expired"; }>; supersedesId: z.ZodNullable; tripSnapshotId: z.ZodNullable; validUntil: z.ZodNullable; currency: z.ZodString; subtotalAmountCents: z.ZodNumber; taxAmountCents: z.ZodNumber; totalAmountCents: z.ZodNumber; notes: z.ZodNullable; sentAt: z.ZodNullable; viewedAt: z.ZodNullable; decidedAt: z.ZodNullable; createdAt: z.ZodString; updatedAt: z.ZodString; archivedAt: z.ZodNullable; }, z.core.$strip>; lines: z.ZodArray; supplierServiceId: z.ZodNullable; description: z.ZodString; quantity: z.ZodNumber; unitPriceAmountCents: z.ZodNumber; totalAmountCents: z.ZodNumber; currency: z.ZodString; createdAt: z.ZodString; updatedAt: z.ZodString; }, z.core.$strip>>; }, z.core.$strip>; export declare const acceptQuoteVersionResultSchema: z.ZodObject<{ quote: z.ZodObject<{ id: z.ZodString; title: z.ZodString; personId: z.ZodNullable; organizationId: z.ZodNullable; pipelineId: z.ZodString; stageId: z.ZodString; ownerId: z.ZodNullable; status: z.ZodEnum<{ open: "open"; won: "won"; lost: "lost"; archived: "archived"; }>; acceptedVersionId: z.ZodNullable; valueAmountCents: z.ZodNullable; valueCurrency: z.ZodNullable; paxCount: z.ZodNullable; expectedCloseDate: z.ZodNullable; source: z.ZodNullable; sourceRef: z.ZodNullable; lostReason: z.ZodNullable; tags: z.ZodArray; customFields: z.ZodRecord>; description: z.ZodNullable; createdBy: z.ZodNullable; updatedBy: z.ZodNullable; createdAt: z.ZodString; updatedAt: z.ZodString; stageChangedAt: z.ZodString; closedAt: z.ZodNullable; }, z.core.$strip>; quoteVersion: z.ZodObject<{ id: z.ZodString; quoteId: z.ZodString; label: z.ZodNullable; status: z.ZodEnum<{ draft: "draft"; sent: "sent"; accepted: "accepted"; declined: "declined"; superseded: "superseded"; expired: "expired"; }>; supersedesId: z.ZodNullable; tripSnapshotId: z.ZodNullable; validUntil: z.ZodNullable; currency: z.ZodString; subtotalAmountCents: z.ZodNumber; taxAmountCents: z.ZodNumber; totalAmountCents: z.ZodNumber; notes: z.ZodNullable; sentAt: z.ZodNullable; viewedAt: z.ZodNullable; decidedAt: z.ZodNullable; createdAt: z.ZodString; updatedAt: z.ZodString; archivedAt: z.ZodNullable; }, z.core.$strip>; closedQuoteVersions: z.ZodArray; status: z.ZodEnum<{ draft: "draft"; sent: "sent"; accepted: "accepted"; declined: "declined"; superseded: "superseded"; expired: "expired"; }>; supersedesId: z.ZodNullable; tripSnapshotId: z.ZodNullable; validUntil: z.ZodNullable; currency: z.ZodString; subtotalAmountCents: z.ZodNumber; taxAmountCents: z.ZodNumber; totalAmountCents: z.ZodNumber; notes: z.ZodNullable; sentAt: z.ZodNullable; viewedAt: z.ZodNullable; decidedAt: z.ZodNullable; createdAt: z.ZodString; updatedAt: z.ZodString; archivedAt: z.ZodNullable; }, z.core.$strip>>; }, z.core.$strip>;