import { z } from 'zod'; export declare const uuid: z.ZodUUID; export declare const deliveryWindowSchema: z.ZodObject<{ start: z.ZodString; end: z.ZodString; }, z.core.$strict>; export declare const deliveryWindowsSchema: z.ZodObject<{ morning: z.ZodDefault>>; afternoon: z.ZodDefault>>; lateNight: z.ZodDefault>>; }, z.core.$strict>; export declare const customerInput: z.ZodObject<{ name: z.ZodString; contactName: z.ZodDefault; phone: z.ZodDefault; comments: z.ZodDefault; deliveryWindows: z.ZodDefault>>; afternoon: z.ZodDefault>>; lateNight: z.ZodDefault>>; }, z.core.$strict>>; }, z.core.$strict>; export declare const customerUpdateInput: z.ZodObject<{ name: z.ZodString; contactName: z.ZodDefault; phone: z.ZodDefault; comments: z.ZodDefault; deliveryWindows: z.ZodDefault>>; afternoon: z.ZodDefault>>; lateNight: z.ZodDefault>>; }, z.core.$strict>>; }, z.core.$strict>; export declare const customerRemoveInput: z.ZodObject<{}, z.core.$strict>; export declare const addressInput: z.ZodObject<{ customerId: z.ZodUUID; label: z.ZodString; address: z.ZodString; city: z.ZodDefault; street: z.ZodDefault; buildingNumber: z.ZodDefault; }, z.core.$strict>; export declare const deliverySlotSchema: z.ZodEnum<{ morning: "morning"; afternoon: "afternoon"; lateNight: "lateNight"; custom: "custom"; }>; export type DeliverySlot = z.infer; export declare const deliveryInput: z.ZodObject<{ notes: z.ZodString; deliverySlot: z.ZodDefault>>; specificTime: z.ZodDefault>; deliveryWindow: z.ZodDefault>>; customerId: z.ZodUUID; addressId: z.ZodUUID; deliveryTypeId: z.ZodUUID; deliveryTypeVersion: z.ZodNumber; shipmentUnitHundredths: z.ZodNumber; unitPriceAgorot: z.ZodNumber; scheduledDate: z.ZodDefault>; }, z.core.$strict>; export declare const deliveryUpdateInput: z.ZodObject<{ customerId: z.ZodUUID; addressId: z.ZodUUID; scheduledDate: z.ZodOptional>; deliverySlot: z.ZodOptional>>; specificTime: z.ZodOptional>; deliveryWindow: z.ZodOptional>>; notes: z.ZodString; }, z.core.$strict>; export declare const deliveryCancelInput: z.ZodObject<{ reason: z.ZodString; }, z.core.$strict>; export declare const operationSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"customer.create">; data: z.ZodObject<{ name: z.ZodString; contactName: z.ZodDefault; phone: z.ZodDefault; comments: z.ZodDefault; deliveryWindows: z.ZodDefault>>; afternoon: z.ZodDefault>>; lateNight: z.ZodDefault>>; }, z.core.$strict>>; }, z.core.$strict>; operationId: z.ZodUUID; deviceId: z.ZodUUID; entityId: z.ZodUUID; baseVersion: z.ZodLiteral<0>; }, z.core.$strict>, z.ZodObject<{ baseVersion: z.ZodNumber; kind: z.ZodLiteral<"customer.update">; data: z.ZodObject<{ name: z.ZodString; contactName: z.ZodDefault; phone: z.ZodDefault; comments: z.ZodDefault; deliveryWindows: z.ZodDefault>>; afternoon: z.ZodDefault>>; lateNight: z.ZodDefault>>; }, z.core.$strict>>; }, z.core.$strict>; operationId: z.ZodUUID; deviceId: z.ZodUUID; entityId: z.ZodUUID; }, z.core.$strict>, z.ZodObject<{ baseVersion: z.ZodNumber; kind: z.ZodLiteral<"customer.remove">; data: z.ZodObject<{}, z.core.$strict>; operationId: z.ZodUUID; deviceId: z.ZodUUID; entityId: z.ZodUUID; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"address.create">; data: z.ZodObject<{ customerId: z.ZodUUID; label: z.ZodString; address: z.ZodString; city: z.ZodDefault; street: z.ZodDefault; buildingNumber: z.ZodDefault; }, z.core.$strict>; operationId: z.ZodUUID; deviceId: z.ZodUUID; entityId: z.ZodUUID; baseVersion: z.ZodLiteral<0>; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"delivery.create">; data: z.ZodObject<{ notes: z.ZodString; deliverySlot: z.ZodDefault>>; specificTime: z.ZodDefault>; deliveryWindow: z.ZodDefault>>; customerId: z.ZodUUID; addressId: z.ZodUUID; deliveryTypeId: z.ZodUUID; deliveryTypeVersion: z.ZodNumber; shipmentUnitHundredths: z.ZodNumber; unitPriceAgorot: z.ZodNumber; scheduledDate: z.ZodDefault>; }, z.core.$strict>; operationId: z.ZodUUID; deviceId: z.ZodUUID; entityId: z.ZodUUID; baseVersion: z.ZodLiteral<0>; }, z.core.$strict>, z.ZodObject<{ baseVersion: z.ZodNumber; kind: z.ZodLiteral<"delivery.update">; data: z.ZodObject<{ customerId: z.ZodUUID; addressId: z.ZodUUID; scheduledDate: z.ZodOptional>; deliverySlot: z.ZodOptional>>; specificTime: z.ZodOptional>; deliveryWindow: z.ZodOptional>>; notes: z.ZodString; }, z.core.$strict>; operationId: z.ZodUUID; deviceId: z.ZodUUID; entityId: z.ZodUUID; }, z.core.$strict>, z.ZodObject<{ baseVersion: z.ZodNumber; kind: z.ZodLiteral<"delivery.cancel">; data: z.ZodObject<{ reason: z.ZodString; }, z.core.$strict>; operationId: z.ZodUUID; deviceId: z.ZodUUID; entityId: z.ZodUUID; }, z.core.$strict>], "kind">; export type Operation = z.infer; export declare const customerSchema: z.ZodObject<{ name: z.ZodString; contactName: z.ZodDefault; phone: z.ZodDefault; comments: z.ZodDefault; deliveryWindows: z.ZodDefault>>; afternoon: z.ZodDefault>>; lateNight: z.ZodDefault>>; }, z.core.$strict>>; updatedAt: z.ZodDefault>; id: z.ZodUUID; version: z.ZodNumber; createdAt: z.ZodISODateTime; deletedAt: z.ZodNullable; }, z.core.$strict>; export declare const addressSchema: z.ZodObject<{ customerId: z.ZodUUID; label: z.ZodString; address: z.ZodString; city: z.ZodDefault; street: z.ZodDefault; buildingNumber: z.ZodDefault; id: z.ZodUUID; version: z.ZodNumber; createdAt: z.ZodISODateTime; deletedAt: z.ZodNullable; }, z.core.$strict>; export declare const deliveryTypeSchema: z.ZodObject<{ code: z.ZodEnum<{ delivery: "delivery"; pickup: "pickup"; double: "double"; }>; name: z.ZodString; shipmentUnitHundredths: z.ZodNumber; id: z.ZodUUID; version: z.ZodNumber; createdAt: z.ZodISODateTime; deletedAt: z.ZodNullable; }, z.core.$strip>; export declare const deliverySchema: z.ZodObject<{ notes: z.ZodString; deliverySlot: z.ZodDefault>>; specificTime: z.ZodDefault>; deliveryWindow: z.ZodDefault>>; customerId: z.ZodUUID; addressId: z.ZodUUID; deliveryTypeId: z.ZodUUID; deliveryTypeVersion: z.ZodNumber; shipmentUnitHundredths: z.ZodNumber; unitPriceAgorot: z.ZodNumber; scheduledDate: z.ZodDefault>; deliveryNumber: z.ZodNumber; totalPriceAgorot: z.ZodNumber; status: z.ZodEnum<{ created: "created"; cancelled: "cancelled"; }>; updatedAt: z.ZodDefault>; cancelledAt: z.ZodDefault>; cancellationReason: z.ZodDefault>; id: z.ZodUUID; version: z.ZodNumber; createdAt: z.ZodISODateTime; deletedAt: z.ZodNullable; }, z.core.$strict>; export type Customer = z.infer; export type CustomerAddress = z.infer; export type DeliveryType = z.infer; export type Delivery = z.infer; export declare const changeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ entityType: z.ZodLiteral<"customer">; record: z.ZodObject<{ name: z.ZodString; contactName: z.ZodDefault; phone: z.ZodDefault; comments: z.ZodDefault; deliveryWindows: z.ZodDefault>>; afternoon: z.ZodDefault>>; lateNight: z.ZodDefault>>; }, z.core.$strict>>; updatedAt: z.ZodDefault>; id: z.ZodUUID; version: z.ZodNumber; createdAt: z.ZodISODateTime; deletedAt: z.ZodNullable; }, z.core.$strict>; }, z.core.$strip>, z.ZodObject<{ entityType: z.ZodLiteral<"address">; record: z.ZodObject<{ customerId: z.ZodUUID; label: z.ZodString; address: z.ZodString; city: z.ZodDefault; street: z.ZodDefault; buildingNumber: z.ZodDefault; id: z.ZodUUID; version: z.ZodNumber; createdAt: z.ZodISODateTime; deletedAt: z.ZodNullable; }, z.core.$strict>; }, z.core.$strip>, z.ZodObject<{ entityType: z.ZodLiteral<"deliveryType">; record: z.ZodObject<{ code: z.ZodEnum<{ delivery: "delivery"; pickup: "pickup"; double: "double"; }>; name: z.ZodString; shipmentUnitHundredths: z.ZodNumber; id: z.ZodUUID; version: z.ZodNumber; createdAt: z.ZodISODateTime; deletedAt: z.ZodNullable; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ entityType: z.ZodLiteral<"delivery">; record: z.ZodObject<{ notes: z.ZodString; deliverySlot: z.ZodDefault>>; specificTime: z.ZodDefault>; deliveryWindow: z.ZodDefault>>; customerId: z.ZodUUID; addressId: z.ZodUUID; deliveryTypeId: z.ZodUUID; deliveryTypeVersion: z.ZodNumber; shipmentUnitHundredths: z.ZodNumber; unitPriceAgorot: z.ZodNumber; scheduledDate: z.ZodDefault>; deliveryNumber: z.ZodNumber; totalPriceAgorot: z.ZodNumber; status: z.ZodEnum<{ created: "created"; cancelled: "cancelled"; }>; updatedAt: z.ZodDefault>; cancelledAt: z.ZodDefault>; cancellationReason: z.ZodDefault>; id: z.ZodUUID; version: z.ZodNumber; createdAt: z.ZodISODateTime; deletedAt: z.ZodNullable; }, z.core.$strict>; }, z.core.$strip>], "entityType">; export type Change = z.infer; export declare const pushResponseSchema: z.ZodObject<{ change: z.ZodDiscriminatedUnion<[z.ZodObject<{ entityType: z.ZodLiteral<"customer">; record: z.ZodObject<{ name: z.ZodString; contactName: z.ZodDefault; phone: z.ZodDefault; comments: z.ZodDefault; deliveryWindows: z.ZodDefault>>; afternoon: z.ZodDefault>>; lateNight: z.ZodDefault>>; }, z.core.$strict>>; updatedAt: z.ZodDefault>; id: z.ZodUUID; version: z.ZodNumber; createdAt: z.ZodISODateTime; deletedAt: z.ZodNullable; }, z.core.$strict>; }, z.core.$strip>, z.ZodObject<{ entityType: z.ZodLiteral<"address">; record: z.ZodObject<{ customerId: z.ZodUUID; label: z.ZodString; address: z.ZodString; city: z.ZodDefault; street: z.ZodDefault; buildingNumber: z.ZodDefault; id: z.ZodUUID; version: z.ZodNumber; createdAt: z.ZodISODateTime; deletedAt: z.ZodNullable; }, z.core.$strict>; }, z.core.$strip>, z.ZodObject<{ entityType: z.ZodLiteral<"deliveryType">; record: z.ZodObject<{ code: z.ZodEnum<{ delivery: "delivery"; pickup: "pickup"; double: "double"; }>; name: z.ZodString; shipmentUnitHundredths: z.ZodNumber; id: z.ZodUUID; version: z.ZodNumber; createdAt: z.ZodISODateTime; deletedAt: z.ZodNullable; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ entityType: z.ZodLiteral<"delivery">; record: z.ZodObject<{ notes: z.ZodString; deliverySlot: z.ZodDefault>>; specificTime: z.ZodDefault>; deliveryWindow: z.ZodDefault>>; customerId: z.ZodUUID; addressId: z.ZodUUID; deliveryTypeId: z.ZodUUID; deliveryTypeVersion: z.ZodNumber; shipmentUnitHundredths: z.ZodNumber; unitPriceAgorot: z.ZodNumber; scheduledDate: z.ZodDefault>; deliveryNumber: z.ZodNumber; totalPriceAgorot: z.ZodNumber; status: z.ZodEnum<{ created: "created"; cancelled: "cancelled"; }>; updatedAt: z.ZodDefault>; cancelledAt: z.ZodDefault>; cancellationReason: z.ZodDefault>; id: z.ZodUUID; version: z.ZodNumber; createdAt: z.ZodISODateTime; deletedAt: z.ZodNullable; }, z.core.$strict>; }, z.core.$strip>], "entityType">; replayed: z.ZodBoolean; }, z.core.$strip>; export declare const pullResponseSchema: z.ZodObject<{ changes: z.ZodArray; record: z.ZodObject<{ name: z.ZodString; contactName: z.ZodDefault; phone: z.ZodDefault; comments: z.ZodDefault; deliveryWindows: z.ZodDefault>>; afternoon: z.ZodDefault>>; lateNight: z.ZodDefault>>; }, z.core.$strict>>; updatedAt: z.ZodDefault>; id: z.ZodUUID; version: z.ZodNumber; createdAt: z.ZodISODateTime; deletedAt: z.ZodNullable; }, z.core.$strict>; }, z.core.$strip>, z.ZodObject<{ entityType: z.ZodLiteral<"address">; record: z.ZodObject<{ customerId: z.ZodUUID; label: z.ZodString; address: z.ZodString; city: z.ZodDefault; street: z.ZodDefault; buildingNumber: z.ZodDefault; id: z.ZodUUID; version: z.ZodNumber; createdAt: z.ZodISODateTime; deletedAt: z.ZodNullable; }, z.core.$strict>; }, z.core.$strip>, z.ZodObject<{ entityType: z.ZodLiteral<"deliveryType">; record: z.ZodObject<{ code: z.ZodEnum<{ delivery: "delivery"; pickup: "pickup"; double: "double"; }>; name: z.ZodString; shipmentUnitHundredths: z.ZodNumber; id: z.ZodUUID; version: z.ZodNumber; createdAt: z.ZodISODateTime; deletedAt: z.ZodNullable; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ entityType: z.ZodLiteral<"delivery">; record: z.ZodObject<{ notes: z.ZodString; deliverySlot: z.ZodDefault>>; specificTime: z.ZodDefault>; deliveryWindow: z.ZodDefault>>; customerId: z.ZodUUID; addressId: z.ZodUUID; deliveryTypeId: z.ZodUUID; deliveryTypeVersion: z.ZodNumber; shipmentUnitHundredths: z.ZodNumber; unitPriceAgorot: z.ZodNumber; scheduledDate: z.ZodDefault>; deliveryNumber: z.ZodNumber; totalPriceAgorot: z.ZodNumber; status: z.ZodEnum<{ created: "created"; cancelled: "cancelled"; }>; updatedAt: z.ZodDefault>; cancelledAt: z.ZodDefault>; cancellationReason: z.ZodDefault>; id: z.ZodUUID; version: z.ZodNumber; createdAt: z.ZodISODateTime; deletedAt: z.ZodNullable; }, z.core.$strict>; }, z.core.$strip>], "entityType">; }, z.core.$strip>>; nextCursor: z.ZodString; hasMore: z.ZodBoolean; }, z.core.$strip>; export type PullResponse = z.infer; export declare function totalPrice(unitPriceAgorot: number, shipmentUnitHundredths: number): number; export declare const usernameSchema: z.ZodString; export declare const loginInput: z.ZodObject<{ username: z.ZodString; password: z.ZodString; }, z.core.$strict>; export declare const setupInput: z.ZodObject<{ username: z.ZodString; password: z.ZodString; displayName: z.ZodString; }, z.core.$strict>; export declare const userSchema: z.ZodObject<{ id: z.ZodUUID; username: z.ZodString; displayName: z.ZodString; role: z.ZodEnum<{ admin: "admin"; staff: "staff"; }>; authProvider: z.ZodDefault>; groups: z.ZodDefault>; }, z.core.$strip>; export type User = z.infer; export declare const profileInput: z.ZodObject<{ displayName: z.ZodNullable; }, z.core.$strict>; export declare const sessionSchema: z.ZodObject<{ user: z.ZodObject<{ id: z.ZodUUID; username: z.ZodString; displayName: z.ZodString; role: z.ZodEnum<{ admin: "admin"; staff: "staff"; }>; authProvider: z.ZodDefault>; groups: z.ZodDefault>; }, z.core.$strip>; expiresAt: z.ZodISODateTime; }, z.core.$strip>; export type Session = z.infer; export declare const ssoSettingsSchema: z.ZodObject<{ enabled: z.ZodBoolean; issuer: z.ZodString; discoveryUrl: z.ZodString; clientId: z.ZodString; clientSecret: z.ZodDefault; redirectUri: z.ZodString; scopes: z.ZodString; authMethod: z.ZodEnum<{ client_secret_post: "client_secret_post"; client_secret_basic: "client_secret_basic"; none: "none"; }>; offlineAccess: z.ZodBoolean; promptConsent: z.ZodBoolean; displayNameClaim: z.ZodString; groupAccessEnabled: z.ZodDefault; groupClaim: z.ZodDefault; allowedGroups: z.ZodDefault>; }, z.core.$strict>; export type SsoSettings = z.infer; export declare const directorySettingsSchema: z.ZodObject<{ enabled: z.ZodBoolean; url: z.ZodString; baseDn: z.ZodString; domain: z.ZodString; bindDn: z.ZodString; bindPassword: z.ZodString; caCertificate: z.ZodString; }, z.core.$strict>; export type DirectorySettings = z.infer; export declare const directoryTestInput: z.ZodObject<{ subject: z.ZodString; }, z.core.$strict>;