import { Effect, Schema } from "effect"; import { DdfHttp } from "./client.js"; import type { DdfHttpError } from "./client.js"; import { MemberSchema } from "./schema/memberSchema.js"; import { DestinationSchema } from "./schema/destinationSchema.js"; import { OfficeSchema } from "./schema/officeSchema.js"; import { OpenHouseSchema } from "./schema/openHouse.js"; import { PropertyListingSchema, SinglePropertyListingResponseSchema } from "./schema/propertyListingsSchema.js"; import { type ODataListEnvelope } from "./schema/odata.js"; import type { LeadInput, ODataGetQuery, ODataListQuery, ReplicationQuery } from "./types.js"; type ResourceEffect = Effect.Effect; type SelectedEntity = Partial> & { readonly "@odata.context"?: string | null; }; type SelectedQuery> = Omit, "select"> & { readonly select: Select; }; type SelectedGetQuery> = Omit, "select"> & { readonly select: Select; }; type ListResource = { >(query: SelectedQuery): ResourceEffect>>; (query?: ODataListQuery): ResourceEffect>; }; type GetResource = { >(key: Key, query: SelectedGetQuery): ResourceEffect>; (key: Key, query?: ODataGetQuery): ResourceEffect; }; type PropertyListing = typeof PropertyListingSchema.Type; type SinglePropertyListing = typeof SinglePropertyListingResponseSchema.Type; type Member = typeof MemberSchema.Type; type Office = typeof OfficeSchema.Type; type OpenHouse = typeof OpenHouseSchema.Type; type Destination = typeof DestinationSchema.Type; type PropertyField = keyof PropertyListing & string; type SinglePropertyField = keyof SinglePropertyListing & string; type MemberField = keyof Member & string; type OfficeField = keyof Office & string; type OpenHouseField = keyof OpenHouse & string; type DestinationField = keyof Destination & string; export declare const LeadResponseSchema: Schema.Struct<{ readonly details: Schema.optionalKey>; readonly message: Schema.optionalKey>; readonly code: Schema.optionalKey>; readonly success: Schema.Boolean; }>; declare const DdfLeadInputEncodeError_base: new = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & { readonly _tag: "DdfLeadInputEncodeError"; } & Readonly; export declare class DdfLeadInputEncodeError extends DdfLeadInputEncodeError_base<{ readonly cause: unknown; }> { get message(): string; } export declare const listProperties: ListResource; export declare const getProperty: GetResource; export declare const replicateProperties: (query?: ReplicationQuery | undefined) => Effect.Effect, DdfHttpError, DdfHttp>; export declare const replicatePropertiesForDestination: (destinationId: number, query?: ReplicationQuery | undefined) => Effect.Effect, DdfHttpError, DdfHttp>; export declare const listMembers: ListResource; export declare const getMember: GetResource; export declare const replicateMembers: (query?: ReplicationQuery | undefined) => Effect.Effect, DdfHttpError, DdfHttp>; export declare const replicateMembersForDestination: (destinationId: number, query?: ReplicationQuery | undefined) => Effect.Effect, DdfHttpError, DdfHttp>; export declare const listOffices: ListResource; export declare const getOffice: GetResource; export declare const replicateOffices: (query?: ReplicationQuery | undefined) => Effect.Effect, DdfHttpError, DdfHttp>; export declare const replicateOfficesForDestination: (destinationId: number, query?: ReplicationQuery | undefined) => Effect.Effect, DdfHttpError, DdfHttp>; export declare const listOpenHouses: ListResource; export declare const getOpenHouse: GetResource; export declare const listDestinations: ListResource; export declare const getDestination: GetResource; export declare const createLead: (input: LeadInput, options?: { suppressEmail?: boolean; } | undefined) => Effect.Effect<{ readonly details?: string | null | undefined; readonly message?: string | null | undefined; readonly code?: string | null | undefined; readonly success: boolean; }, DdfLeadInputEncodeError | DdfHttpError, DdfHttp>; export {}; //# sourceMappingURL=resources.d.ts.map