bitsnap-checkout
Version:
This is Bitsnap Checkout React library for easy integration with any website which is using React framework
135 lines (131 loc) • 5.01 kB
TypeScript
import z__default from 'zod';
import { Message } from '@bufbuild/protobuf';
/**
* @generated from message public_api.v1.NotifyUserAboutProductAvailabilityRequest
*/
type NotifyUserAboutProductAvailabilityRequest = Message<"public_api.v1.NotifyUserAboutProductAvailabilityRequest"> & {
/**
* @generated from field: string project_id = 1;
*/
projectId: string;
/**
* @generated from field: string product_id = 2;
*/
productId: string;
/**
* @generated from field: string email = 3;
*/
email: string;
};
declare namespace BitsnapBackend {
function setCustomHost(host: string): Promise<void>;
function getHost(): string;
function setApiKey(apiKey: string): Promise<void>;
function getProduct(projectID: string, id: string, requestInit?: RequestInit): Promise<{
data: {
message?: string | undefined;
result?: {
metadata?: Record<string, any> | undefined;
availableQuantity?: number | undefined;
ownerID?: string | undefined;
description?: string | null | undefined;
createdAt?: number | undefined;
updatedAt?: number | undefined;
isDeliverable?: boolean | undefined;
additional?: {
sku?: string | undefined;
baselinkerFields?: {
storageID?: string | undefined;
} | undefined;
} | undefined;
variants?: {
metadata?: Record<string, any> | undefined;
id: string;
name: string;
price: number;
currency: string;
images: string[];
availableQuantity: number;
}[] | undefined;
id: string;
name: string;
price: number;
currency: string;
image_url: string;
images: string[];
} | undefined;
success: boolean;
};
} | undefined>;
function getProducts(projectID: string, limit: number, offset: number, requestInit?: RequestInit, opts?: {
groupVariants?: boolean;
}): Promise<{
data: {
success: boolean;
result: {
metadata?: Record<string, any> | undefined;
availableQuantity?: number | undefined;
ownerID?: string | undefined;
description?: string | null | undefined;
createdAt?: number | undefined;
updatedAt?: number | undefined;
isDeliverable?: boolean | undefined;
additional?: {
sku?: string | undefined;
baselinkerFields?: {
storageID?: string | undefined;
} | undefined;
} | undefined;
variants?: {
metadata?: Record<string, any> | undefined;
id: string;
name: string;
price: number;
currency: string;
images: string[];
availableQuantity: number;
}[] | undefined;
id: string;
name: string;
price: number;
currency: string;
image_url: string;
images: string[];
}[];
totalCount: number;
};
} | {
categories: undefined;
products: undefined;
}>;
function sendNotification(request: NotificationRequest, requestInit?: RequestInit): Promise<"success" | "failure">;
function notifyProductAvailability(request: Pick<NotifyUserAboutProductAvailabilityRequest, "productId" | "email" | "projectId">, opts?: {
headers?: Headers;
signal?: AbortSignal;
timeoutMs?: number;
}): Promise<{
status: "success" | "failure";
message?: "failed-to-notify";
}>;
}
declare const notificationRequestSchema: z__default.ZodObject<{
to: z__default.ZodArray<z__default.ZodString>;
title: z__default.ZodString;
body: z__default.ZodOptional<z__default.ZodString>;
type: z__default.ZodDefault<z__default.ZodUnion<readonly [z__default.ZodEnum<{
email: "email";
push: "push";
sms: "sms";
}>, z__default.ZodArray<z__default.ZodEnum<{
email: "email";
push: "push";
sms: "sms";
}>>]>>;
emailOptions: z__default.ZodOptional<z__default.ZodObject<{
subject: z__default.ZodOptional<z__default.ZodString>;
replyTo: z__default.ZodOptional<z__default.ZodString>;
htmlText: z__default.ZodOptional<z__default.ZodString>;
}, {}>>;
}, {}>;
type NotificationRequest = z__default.infer<typeof notificationRequestSchema>;
export { BitsnapBackend, type NotificationRequest };