// Generated by dts-bundle v0.7.3 // Dependencies for this module: // ../loglevel declare module '@varvara-io/sdk' { import { VarvaraSdk } from '@varvara-io/sdk/classes/varvara-sdk'; export { LogLevelDesc } from 'loglevel'; export { EventsMap, Event, EventListenerCallback, EventType, EventMeta, } from '@varvara-io/sdk/types/events'; export * from '@varvara-io/sdk/types/routes'; export { BaseConfig } from '@varvara-io/sdk/classes/config'; const varvaraSdk: VarvaraSdk; export default varvaraSdk; } declare module '@varvara-io/sdk/classes/varvara-sdk' { import { LogLevelDesc } from 'loglevel'; import { EventListenerCallback, EventsMap, EventType } from '@varvara-io/sdk/types/events'; import { BaseConfig, InternalConfig } from '@varvara-io/sdk/classes/config'; type FittingStatus = 'opened' | 'closed' | 'pending' | 'canceled' | 'failed' | 'succeed'; type Result = { src: string; }; export type Fitting = { fittingId: string; clothesSrc: string; result: Result | null; status: FittingStatus; openTimestamp: number; closeTimestamp: number; payload?: any; }; export type Fittings = { [k: string]: Fitting; }; export type FittingEvents = { [k: string]: Array; }; export type TryOnPayload = { itemId: string; userId: string; } & Record; export type TryMeasurePayload = Record; export class VarvaraSdk { constructor(version?: string); addEventListener(type: T, callback: EventListenerCallback): this; removeEventListener(type: T, callback: EventListenerCallback): this; setConfig(config: Partial): void; getInternalConfig(): InternalConfig; tryOn(clothesSrc: string, payload: TryOnPayload): string; tryMeasure(clothesSrc: string, vendorName: string, payload: TryMeasurePayload): string; setLogLevel(logLevel: LogLevelDesc): void; } export {}; } declare module '@varvara-io/sdk/types/events' { import { Routes } from '@varvara-io/sdk/recoil/route'; import { Fitting } from '@varvara-io/sdk/classes/varvara-sdk'; interface BaseEvent { type: keyof EventsMap; routeName: Routes; fittingId: string; timestamp: number; } interface BaseEventWithMeta extends BaseEvent { meta: M; } export type Event = M extends void ? BaseEvent : BaseEventWithMeta; export type EmitEventHandler = (event: Event) => void; type ClothesPhotoLoadedMeta = { inputWidth: number; inputHeight: number; }; type ClientPhotoCropMeta = { inputWidth: number; inputHeight: number; outputWidth: number; outputHeight: number; outputSize: number; minCropSize: number; }; type SuccessResultMeta = { src: string; }; type FailedResultMeta = { src: string; }; type MeasureStartMeta = { height: number; }; type MeasureFinishMeta = { gender: 'female' | 'male' | 'neutral'; size: string; }; type ToggleLikeMeta = { liked: number; }; export interface EventsMap { open: Event; openMeasure: Event; clothesImageLoaded: Event; clothesImageFailed: Event; clothesContinueClick: Event; clientPhotoLoaded: Event; clientPhotoFailed: Event; clientPhotoRemove: Event; signStart: Event; signFinish: Event; signError: Event; fittingStart: Event; fittingFinish: Event; fittingError: Event; measureStart: Event; measureFinish: Event; measureError: Event; resultPhotoLoaded: Event; resultPhotoFailed: Event; toggleLike: Event; download: Event; continueShopping: Event; close: Event; } export type EventType = keyof EventsMap; export type EventMeta = EventsMap[T] extends Event ? M : never; export type EventListenerCallback = (event: EventsMap[T], fitting: Fitting) => void; export {}; } declare module '@varvara-io/sdk/types/routes' { export enum Routes { CLOTHES = "CLOTHES", TERMS = "TERMS", PRIVACY = "PRIVACY", PHOTO = "PHOTO", MEASURE = "MEASURE", MEASURE_LOADING = "MEASURE_LOADING", MEASURE_RESULT = "MEASURE_RESULT", SIGN = "SIGN", SIGN_ERROR = "SIGN_ERROR", FITTING_ERROR = "FITTING_ERROR", FITTING_ERROR_WRONG_PHOTO = "FITTING_ERROR_WRONG_PHOTO", RESULT = "RESULT" } } declare module '@varvara-io/sdk/classes/config' { import { LogLevelDesc } from 'loglevel'; import { I18nextLanguages } from '@varvara-io/sdk/i18next'; export interface BaseConfig { logLevel: LogLevelDesc; signEndpoint: string; apiEndpoint: string; measureEndpoint: string; enableSizeAdvice: boolean; publicApiKey: string; lng: I18nextLanguages; } export interface InternalConfig extends BaseConfig { cropImageSize: number; minHeightRange: number; maxHeightRange: number; enableHeightControl: boolean; alwaysShowTermsAndPrivacy: boolean; showTermsAndPrivacy: boolean; clientGuid: string; } export const defaultBaseConfig: BaseConfig; export const defaultInternalConfig: InternalConfig; } declare module '@varvara-io/sdk/recoil/route' { import { Routes } from '@varvara-io/sdk/types/routes'; type RouteState = { name: Routes; }; export const routeState: import("recoil").RecoilState; export { Routes }; } declare module '@varvara-io/sdk/i18next' { export * from '@varvara-io/sdk/i18next/create-instance'; export * from '@varvara-io/sdk/i18next/use-translate'; export * from '@varvara-io/sdk/i18next/context'; } declare module '@varvara-io/sdk/i18next/create-instance' { export type I18nextLanguages = 'en' | 'ru'; export const DEFAULT_LANG: I18nextLanguages; type Options = { lng?: I18nextLanguages; debug?: boolean; }; export const createInstance: (options: Options) => import("i18next").i18n; export {}; } declare module '@varvara-io/sdk/i18next/use-translate' { export const useTranslate: () => import("i18next").TFunction; } declare module '@varvara-io/sdk/i18next/context' { export const I18nextContext: import("preact").Context; }