import type { Context, Options } from '..'; export type Clients = ReturnType; export declare const getClients: (options: Options, ctx: Context) => { search: { facets: (args: Omit) => Promise; products: (args: Omit) => Promise; suggestedTerms: (args: Omit) => Promise; topSearches: () => Promise; }; commerce: { catalog: { salesChannel: (sc: string) => Promise; brand: { list: () => Promise; }; category: { tree: (depth?: number) => Promise; }; portal: { pagetype: (slug: string) => Promise; }; products: { crossselling: ({ type, productId, groupByProduct, }: { type: "whoboughtalsobought" | "whosawalsosaw" | "similars" | "whosawalsobought" | "accessories" | "suggestions"; productId: string; groupByProduct?: boolean | undefined; }) => Promise; }; }; checkout: { simulation: (args: import("./commerce/types/Simulation").SimulationArgs, { salesChannel }?: import("./commerce/types/Simulation").SimulationOptions) => Promise; shippingData: ({ id, index, deliveryMode, selectedAddresses, }: { id: string; index: number; deliveryMode?: import("./commerce/types/ShippingData").DeliveryMode | null | undefined; selectedAddresses: import("./commerce/types/ShippingData").SelectedAddress[]; }, setDeliveryWindow?: boolean | undefined) => Promise; orderForm: ({ id, refreshOutdatedData, channel, }: { id: string; refreshOutdatedData?: boolean | undefined; channel?: Required | undefined; }) => Promise; clearOrderFormMessages: ({ id }: { id: string; }) => Promise; updateOrderFormItems: ({ id, orderItems, allowOutdatedData, salesChannel, shouldSplitItem, }: { id: string; orderItems: import("./commerce/types/OrderForm").OrderFormInputItem[]; allowOutdatedData?: "paymentData" | undefined; salesChannel?: string | undefined; shouldSplitItem?: boolean | null | undefined; }) => Promise; setCustomData: ({ id, appId, key, value, }: { id: string; appId: string; key: string; value: string; }) => Promise; region: ({ postalCode, geoCoordinates, country, salesChannel, }: import("./commerce/types/Region").RegionInput) => Promise; address: ({ postalCode, country, }: import("./commerce/types/Address").AddressInput) => Promise; }; session: (search: string) => Promise; subscribeToNewsletter: (data: { name: string; email: string; }) => Promise; }; };