type Primitive = number | string | boolean | bigint | symbol | null | undefined; type Tags = Record; type Context = Record; type Contexts = Record; interface SpanContextData { traceId: string; spanId: string; } interface Span { spanContext(): SpanContextData; end(): void; } interface ManualSpan { end(): void; fail(error: unknown): void; } interface SpanOptions { name: string; tags?: Tags; } interface EndSpanOptions { name: string; } interface Breadcrumb { type?: string; category?: string; message: string; level?: 'info' | 'warning' | 'error'; data?: Record; } interface CaptureContext { level?: 'info' | 'warning' | 'error'; tags?: Tags; contexts?: Contexts; } interface MonitoringClient { /** * Captures an exception event and sends it to Sentry. * @param error The error to capture * @param captureContext Optional additional data to attach to the Sentry e vent. */ captureException(error: unknown, captureContext?: CaptureContext): void; /** * Captures a message event and sends it to Sentry. * @param message The message to capture * @param captureContext Define the level of the message or pass in additional data to attach to the message. */ captureMessage(message: string, captureContext?: CaptureContext): void; /** * Wraps a function with a span and finishes the span after the function is done. The created span is the active span and will be used as parent by other spans created inside the function, as long as the function is executed while the scope is active. * @param spanOptions The options for the span * @param callback The function to wrap with a span * @returns The return value of the callback */ startSpan(spanOptions: SpanOptions, callback: (span: Span | undefined) => T): T; /** * Starts a manual span. The span needs to be finished manually by either calling end() or fail() using the returned span object or by calling endSpanManual(). * @param spanOptions The options for the span * @returns A span object that allows to end the span successfully or fail it. */ startSpanManual(spanOptions: SpanOptions): ManualSpan; /** * Ends a manual span and sends it to Sentry. Spans can be ended using a MonitoringClient instance which wasn't necessarily used to start the span. * Calling this method will end the last span with the same name that was started using startSpanManual() and will ignore the others. * @param spanOptions The options for the span */ endSpanManual(spanOptions: EndSpanOptions): void; /** * Records a new breadcrumb which will be attached to future events. * Breadcrumbs will be added to subsequent events to provide more context on user's actions prior to an error or crash. * @param breadcrumb The breadcrumb to record. */ addBreadcrumb(breadcrumb: Breadcrumb): void; } declare global { // eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged. interface SymbolConstructor { readonly observable: symbol; } } declare const emptyObjectSymbol: unique symbol; /** Represents a strictly empty plain object, the `{}` value. When you annotate something as the type `{}`, it can be anything except `null` and `undefined`. This means that you cannot use `{}` to represent an empty plain object ([read more](https://stackoverflow.com/questions/47339869/typescript-empty-object-and-any-difference/52193484#52193484)). @example ``` import type {EmptyObject} from 'type-fest'; // The following illustrates the problem with `{}`. const foo1: {} = {}; // Pass const foo2: {} = []; // Pass const foo3: {} = 42; // Pass const foo4: {} = {a: 1}; // Pass // With `EmptyObject` only the first case is valid. const bar1: EmptyObject = {}; // Pass const bar2: EmptyObject = 42; // Fail const bar3: EmptyObject = []; // Fail const bar4: EmptyObject = {a: 1}; // Fail ``` Unfortunately, `Record`, `Record` and `Record` do not work. See {@link https://github.com/sindresorhus/type-fest/issues/395 #395}. @category Object */ type EmptyObject = {[emptyObjectSymbol]?: never}; /** Extract all optional keys from the given type. This is useful when you want to create a new type that contains different type values for the optional keys only. @example ``` import type {OptionalKeysOf, Except} from 'type-fest'; interface User { name: string; surname: string; luckyNumber?: number; } const REMOVE_FIELD = Symbol('remove field symbol'); type UpdateOperation = Except, OptionalKeysOf> & { [Key in OptionalKeysOf]?: Entity[Key] | typeof REMOVE_FIELD; }; const update1: UpdateOperation = { name: 'Alice' }; const update2: UpdateOperation = { name: 'Bob', luckyNumber: REMOVE_FIELD }; ``` @category Utilities */ type OptionalKeysOf = BaseType extends unknown // For distributing `BaseType` ? (keyof { [Key in keyof BaseType as BaseType extends Record ? never : Key]: never }) & (keyof BaseType) // Intersect with `keyof BaseType` to ensure result of `OptionalKeysOf` is always assignable to `keyof BaseType` : never; // Should never happen /** Extract all required keys from the given type. This is useful when you want to create a new type that contains different type values for the required keys only or use the list of keys for validation purposes, etc... @example ``` import type {RequiredKeysOf} from 'type-fest'; declare function createValidation = RequiredKeysOf>(field: Key, validator: (value: Entity[Key]) => boolean): ValidatorFn; interface User { name: string; surname: string; luckyNumber?: number; } const validator1 = createValidation('name', value => value.length < 25); const validator2 = createValidation('surname', value => value.length < 25); ``` @category Utilities */ type RequiredKeysOf = BaseType extends unknown // For distributing `BaseType` ? Exclude> : never; // Should never happen /** Returns a boolean for whether the given type is `never`. @link https://github.com/microsoft/TypeScript/issues/31751#issuecomment-498526919 @link https://stackoverflow.com/a/53984913/10292952 @link https://www.zhenghao.io/posts/ts-never Useful in type utilities, such as checking if something does not occur. @example ``` import type {IsNever, And} from 'type-fest'; // https://github.com/andnp/SimplyTyped/blob/master/src/types/strings.ts type AreStringsEqual = And< IsNever> extends true ? true : false, IsNever> extends true ? true : false >; type EndIfEqual = AreStringsEqual extends true ? never : void; function endIfEqual(input: I, output: O): EndIfEqual { if (input === output) { process.exit(0); } } endIfEqual('abc', 'abc'); //=> never endIfEqual('abc', '123'); //=> void ``` @category Type Guard @category Utilities */ type IsNever = [T] extends [never] ? true : false; /** An if-else-like type that resolves depending on whether the given type is `never`. @see {@link IsNever} @example ``` import type {IfNever} from 'type-fest'; type ShouldBeTrue = IfNever; //=> true type ShouldBeBar = IfNever<'not never', 'foo', 'bar'>; //=> 'bar' ``` @category Type Guard @category Utilities */ type IfNever = ( IsNever extends true ? TypeIfNever : TypeIfNotNever ); // Can eventually be replaced with the built-in once this library supports // TS5.4+ only. Tracked in https://github.com/sindresorhus/type-fest/issues/848 type NoInfer = T extends infer U ? U : never; /** Returns a boolean for whether the given type is `any`. @link https://stackoverflow.com/a/49928360/1490091 Useful in type utilities, such as disallowing `any`s to be passed to a function. @example ``` import type {IsAny} from 'type-fest'; const typedObject = {a: 1, b: 2} as const; const anyObject: any = {a: 1, b: 2}; function get extends true ? {} : Record), K extends keyof O = keyof O>(obj: O, key: K) { return obj[key]; } const typedA = get(typedObject, 'a'); //=> 1 const anyA = get(anyObject, 'a'); //=> any ``` @category Type Guard @category Utilities */ type IsAny = 0 extends 1 & NoInfer ? true : false; /** Returns a boolean for whether the two given types are equal. @link https://github.com/microsoft/TypeScript/issues/27024#issuecomment-421529650 @link https://stackoverflow.com/questions/68961864/how-does-the-equals-work-in-typescript/68963796#68963796 Use-cases: - If you want to make a conditional branch based on the result of a comparison of two types. @example ``` import type {IsEqual} from 'type-fest'; // This type returns a boolean for whether the given array includes the given item. // `IsEqual` is used to compare the given array at position 0 and the given item and then return true if they are equal. type Includes = Value extends readonly [Value[0], ...infer rest] ? IsEqual extends true ? true : Includes : false; ``` @category Type Guard @category Utilities */ type IsEqual = (() => G extends A & G | G ? 1 : 2) extends (() => G extends B & G | G ? 1 : 2) ? true : false; /** Useful to flatten the type output to improve type hints shown in editors. And also to transform an interface into a type to aide with assignability. @example ``` import type {Simplify} from 'type-fest'; type PositionProps = { top: number; left: number; }; type SizeProps = { width: number; height: number; }; // In your editor, hovering over `Props` will show a flattened object with all the properties. type Props = Simplify; ``` Sometimes it is desired to pass a value as a function argument that has a different type. At first inspection it may seem assignable, and then you discover it is not because the `value`'s type definition was defined as an interface. In the following example, `fn` requires an argument of type `Record`. If the value is defined as a literal, then it is assignable. And if the `value` is defined as type using the `Simplify` utility the value is assignable. But if the `value` is defined as an interface, it is not assignable because the interface is not sealed and elsewhere a non-string property could be added to the interface. If the type definition must be an interface (perhaps it was defined in a third-party npm package), then the `value` can be defined as `const value: Simplify = ...`. Then `value` will be assignable to the `fn` argument. Or the `value` can be cast as `Simplify` if you can't re-declare the `value`. @example ``` import type {Simplify} from 'type-fest'; interface SomeInterface { foo: number; bar?: string; baz: number | undefined; } type SomeType = { foo: number; bar?: string; baz: number | undefined; }; const literal = {foo: 123, bar: 'hello', baz: 456}; const someType: SomeType = literal; const someInterface: SomeInterface = literal; function fn(object: Record): void {} fn(literal); // Good: literal object type is sealed fn(someType); // Good: type is sealed fn(someInterface); // Error: Index signature for type 'string' is missing in type 'someInterface'. Because `interface` can be re-opened fn(someInterface as Simplify); // Good: transform an `interface` into a `type` ``` @link https://github.com/microsoft/TypeScript/issues/15300 @see SimplifyDeep @category Object */ type Simplify = {[KeyType in keyof T]: T[KeyType]} & {}; /** Omit any index signatures from the given object type, leaving only explicitly defined properties. This is the counterpart of `PickIndexSignature`. Use-cases: - Remove overly permissive signatures from third-party types. This type was taken from this [StackOverflow answer](https://stackoverflow.com/a/68261113/420747). It relies on the fact that an empty object (`{}`) is assignable to an object with just an index signature, like `Record`, but not to an object with explicitly defined keys, like `Record<'foo' | 'bar', unknown>`. (The actual value type, `unknown`, is irrelevant and could be any type. Only the key type matters.) ``` const indexed: Record = {}; // Allowed const keyed: Record<'foo', unknown> = {}; // Error // => TS2739: Type '{}' is missing the following properties from type 'Record<"foo" | "bar", unknown>': foo, bar ``` Instead of causing a type error like the above, you can also use a [conditional type](https://www.typescriptlang.org/docs/handbook/2/conditional-types.html) to test whether a type is assignable to another: ``` type Indexed = {} extends Record ? '✅ `{}` is assignable to `Record`' : '❌ `{}` is NOT assignable to `Record`'; // => '✅ `{}` is assignable to `Record`' type Keyed = {} extends Record<'foo' | 'bar', unknown> ? "✅ `{}` is assignable to `Record<'foo' | 'bar', unknown>`" : "❌ `{}` is NOT assignable to `Record<'foo' | 'bar', unknown>`"; // => "❌ `{}` is NOT assignable to `Record<'foo' | 'bar', unknown>`" ``` Using a [mapped type](https://www.typescriptlang.org/docs/handbook/2/mapped-types.html#further-exploration), you can then check for each `KeyType` of `ObjectType`... ``` import type {OmitIndexSignature} from 'type-fest'; type OmitIndexSignature = { [KeyType in keyof ObjectType // Map each key of `ObjectType`... ]: ObjectType[KeyType]; // ...to its original value, i.e. `OmitIndexSignature == Foo`. }; ``` ...whether an empty object (`{}`) would be assignable to an object with that `KeyType` (`Record`)... ``` import type {OmitIndexSignature} from 'type-fest'; type OmitIndexSignature = { [KeyType in keyof ObjectType // Is `{}` assignable to `Record`? as {} extends Record ? ... // ✅ `{}` is assignable to `Record` : ... // ❌ `{}` is NOT assignable to `Record` ]: ObjectType[KeyType]; }; ``` If `{}` is assignable, it means that `KeyType` is an index signature and we want to remove it. If it is not assignable, `KeyType` is a "real" key and we want to keep it. @example ``` import type {OmitIndexSignature} from 'type-fest'; interface Example { // These index signatures will be removed. [x: string]: any [x: number]: any [x: symbol]: any [x: `head-${string}`]: string [x: `${string}-tail`]: string [x: `head-${string}-tail`]: string [x: `${bigint}`]: string [x: `embedded-${number}`]: string // These explicitly defined keys will remain. foo: 'bar'; qux?: 'baz'; } type ExampleWithoutIndexSignatures = OmitIndexSignature; // => { foo: 'bar'; qux?: 'baz' | undefined; } ``` @see PickIndexSignature @category Object */ type OmitIndexSignature = { [KeyType in keyof ObjectType as {} extends Record ? never : KeyType]: ObjectType[KeyType]; }; /** Pick only index signatures from the given object type, leaving out all explicitly defined properties. This is the counterpart of `OmitIndexSignature`. @example ``` import type {PickIndexSignature} from 'type-fest'; declare const symbolKey: unique symbol; type Example = { // These index signatures will remain. [x: string]: unknown; [x: number]: unknown; [x: symbol]: unknown; [x: `head-${string}`]: string; [x: `${string}-tail`]: string; [x: `head-${string}-tail`]: string; [x: `${bigint}`]: string; [x: `embedded-${number}`]: string; // These explicitly defined keys will be removed. ['kebab-case-key']: string; [symbolKey]: string; foo: 'bar'; qux?: 'baz'; }; type ExampleIndexSignature = PickIndexSignature; // { // [x: string]: unknown; // [x: number]: unknown; // [x: symbol]: unknown; // [x: `head-${string}`]: string; // [x: `${string}-tail`]: string; // [x: `head-${string}-tail`]: string; // [x: `${bigint}`]: string; // [x: `embedded-${number}`]: string; // } ``` @see OmitIndexSignature @category Object */ type PickIndexSignature = { [KeyType in keyof ObjectType as {} extends Record ? KeyType : never]: ObjectType[KeyType]; }; // Merges two objects without worrying about index signatures. type SimpleMerge = { [Key in keyof Destination as Key extends keyof Source ? never : Key]: Destination[Key]; } & Source; /** Merge two types into a new type. Keys of the second type overrides keys of the first type. @example ``` import type {Merge} from 'type-fest'; interface Foo { [x: string]: unknown; [x: number]: unknown; foo: string; bar: symbol; } type Bar = { [x: number]: number; [x: symbol]: unknown; bar: Date; baz: boolean; }; export type FooBar = Merge; // => { // [x: string]: unknown; // [x: number]: number; // [x: symbol]: unknown; // foo: string; // bar: Date; // baz: boolean; // } ``` @category Object */ type Merge = Simplify< SimpleMerge, PickIndexSignature> & SimpleMerge, OmitIndexSignature> >; /** An if-else-like type that resolves depending on whether the given type is `any`. @see {@link IsAny} @example ``` import type {IfAny} from 'type-fest'; type ShouldBeTrue = IfAny; //=> true type ShouldBeBar = IfAny<'not any', 'foo', 'bar'>; //=> 'bar' ``` @category Type Guard @category Utilities */ type IfAny = ( IsAny extends true ? TypeIfAny : TypeIfNotAny ); /** Merges user specified options with default options. @example ``` type PathsOptions = {maxRecursionDepth?: number; leavesOnly?: boolean}; type DefaultPathsOptions = {maxRecursionDepth: 10; leavesOnly: false}; type SpecifiedOptions = {leavesOnly: true}; type Result = ApplyDefaultOptions; //=> {maxRecursionDepth: 10; leavesOnly: true} ``` @example ``` // Complains if default values are not provided for optional options type PathsOptions = {maxRecursionDepth?: number; leavesOnly?: boolean}; type DefaultPathsOptions = {maxRecursionDepth: 10}; type SpecifiedOptions = {}; type Result = ApplyDefaultOptions; // ~~~~~~~~~~~~~~~~~~~ // Property 'leavesOnly' is missing in type 'DefaultPathsOptions' but required in type '{ maxRecursionDepth: number; leavesOnly: boolean; }'. ``` @example ``` // Complains if an option's default type does not conform to the expected type type PathsOptions = {maxRecursionDepth?: number; leavesOnly?: boolean}; type DefaultPathsOptions = {maxRecursionDepth: 10; leavesOnly: 'no'}; type SpecifiedOptions = {}; type Result = ApplyDefaultOptions; // ~~~~~~~~~~~~~~~~~~~ // Types of property 'leavesOnly' are incompatible. Type 'string' is not assignable to type 'boolean'. ``` @example ``` // Complains if an option's specified type does not conform to the expected type type PathsOptions = {maxRecursionDepth?: number; leavesOnly?: boolean}; type DefaultPathsOptions = {maxRecursionDepth: 10; leavesOnly: false}; type SpecifiedOptions = {leavesOnly: 'yes'}; type Result = ApplyDefaultOptions; // ~~~~~~~~~~~~~~~~ // Types of property 'leavesOnly' are incompatible. Type 'string' is not assignable to type 'boolean'. ``` */ type ApplyDefaultOptions< Options extends object, Defaults extends Simplify, RequiredKeysOf> & Partial, never>>>, SpecifiedOptions extends Options, > = IfAny ? Extract extends never ? Key : never : Key ]: SpecifiedOptions[Key] }> & Required> // `& Required` ensures that `ApplyDefaultOptions` is always assignable to `Required` >>; /** Filter out keys from an object. Returns `never` if `Exclude` is strictly equal to `Key`. Returns `never` if `Key` extends `Exclude`. Returns `Key` otherwise. @example ``` type Filtered = Filter<'foo', 'foo'>; //=> never ``` @example ``` type Filtered = Filter<'bar', string>; //=> never ``` @example ``` type Filtered = Filter<'bar', 'foo'>; //=> 'bar' ``` @see {Except} */ type Filter = IsEqual extends true ? never : (KeyType extends ExcludeType ? never : KeyType); type ExceptOptions = { /** Disallow assigning non-specified properties. Note that any omitted properties in the resulting type will be present in autocomplete as `undefined`. @default false */ requireExactProps?: boolean; }; type DefaultExceptOptions = { requireExactProps: false; }; /** Create a type from an object type without certain keys. We recommend setting the `requireExactProps` option to `true`. This type is a stricter version of [`Omit`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-5.html#the-omit-helper-type). The `Omit` type does not restrict the omitted keys to be keys present on the given type, while `Except` does. The benefits of a stricter type are avoiding typos and allowing the compiler to pick up on rename refactors automatically. This type was proposed to the TypeScript team, which declined it, saying they prefer that libraries implement stricter versions of the built-in types ([microsoft/TypeScript#30825](https://github.com/microsoft/TypeScript/issues/30825#issuecomment-523668235)). @example ``` import type {Except} from 'type-fest'; type Foo = { a: number; b: string; }; type FooWithoutA = Except; //=> {b: string} const fooWithoutA: FooWithoutA = {a: 1, b: '2'}; //=> errors: 'a' does not exist in type '{ b: string; }' type FooWithoutB = Except; //=> {a: number} & Partial> const fooWithoutB: FooWithoutB = {a: 1, b: '2'}; //=> errors at 'b': Type 'string' is not assignable to type 'undefined'. // The `Omit` utility type doesn't work when omitting specific keys from objects containing index signatures. // Consider the following example: type UserData = { [metadata: string]: string; email: string; name: string; role: 'admin' | 'user'; }; // `Omit` clearly doesn't behave as expected in this case: type PostPayload = Omit; //=> type PostPayload = { [x: string]: string; [x: number]: string; } // In situations like this, `Except` works better. // It simply removes the `email` key while preserving all the other keys. type PostPayload = Except; //=> type PostPayload = { [x: string]: string; name: string; role: 'admin' | 'user'; } ``` @category Object */ type Except = _Except>; type _Except> = { [KeyType in keyof ObjectType as Filter]: ObjectType[KeyType]; } & (Options['requireExactProps'] extends true ? Partial> : {}); /** Extract the keys from a type where the value type of the key extends the given `Condition`. Internally this is used for the `ConditionalPick` and `ConditionalExcept` types. @example ``` import type {ConditionalKeys} from 'type-fest'; interface Example { a: string; b: string | number; c?: string; d: {}; } type StringKeysOnly = ConditionalKeys; //=> 'a' ``` To support partial types, make sure your `Condition` is a union of undefined (for example, `string | undefined`) as demonstrated below. @example ``` import type {ConditionalKeys} from 'type-fest'; type StringKeysAndUndefined = ConditionalKeys; //=> 'a' | 'c' ``` @category Object */ type ConditionalKeys = { // Map through all the keys of the given base type. [Key in keyof Base]-?: // Pick only keys with types extending the given `Condition` type. Base[Key] extends Condition // Retain this key // If the value for the key extends never, only include it if `Condition` also extends never ? IfNever, Key> // Discard this key since the condition fails. : never; // Convert the produced object into a union type of the keys which passed the conditional test. }[keyof Base]; /** Exclude keys from a shape that matches the given `Condition`. This is useful when you want to create a new type with a specific set of keys from a shape. For example, you might want to exclude all the primitive properties from a class and form a new shape containing everything but the primitive properties. @example ``` import type {Primitive, ConditionalExcept} from 'type-fest'; class Awesome { name: string; successes: number; failures: bigint; run() {} } type ExceptPrimitivesFromAwesome = ConditionalExcept; //=> {run: () => void} ``` @example ``` import type {ConditionalExcept} from 'type-fest'; interface Example { a: string; b: string | number; c: () => void; d: {}; } type NonStringKeysOnly = ConditionalExcept; //=> {b: string | number; c: () => void; d: {}} ``` @category Object */ type ConditionalExcept = Except< Base, ConditionalKeys >; type HostModule = { __type: 'host'; create(host: H): T; }; type HostModuleAPI> = T extends HostModule ? U : never; type Host = { channel?: { observeState(callback: (props: unknown, environment: Environment) => unknown): { disconnect: () => void; } | Promise<{ disconnect: () => void; }>; }; environment?: Environment; /** * Optional name of the environment, use for logging */ name?: string; /** * Optional bast url to use for API requests, for example `www.wixapis.com` */ apiBaseUrl?: string; /** * Optional function to get a monitoring client */ getMonitoringClient?: () => MonitoringClient; /** * Possible data to be provided by every host, for cross cutting concerns * like internationalization, billing, etc. */ essentials?: { /** * The language of the currently viewed session */ language?: string; /** * The locale of the currently viewed session */ locale?: string; /** * Any headers that should be passed through to the API requests */ passThroughHeaders?: Record; }; }; type HTTPMethod = 'POST' | 'GET' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS'; type RESTFunctionDescriptor any = (...args: any[]) => any> = (httpClient: HttpClient) => T; interface HttpClient { request(req: RequestOptionsFactory): Promise>; fetchWithAuth: typeof fetch; wixAPIFetch: (relativeUrl: string, options: RequestInit) => Promise; getActiveToken?: () => string | undefined; } type RequestOptionsFactory = (context: any) => RequestOptions; type HttpResponse = { data: T; status: number; statusText: string; headers: any; request?: any; }; type RequestOptions<_TResponse = any, Data = any> = { method: HTTPMethod; url: string; data?: Data; params?: URLSearchParams; } & APIMetadata; type APIMetadata = { methodFqn?: string; entityFqdn?: string; packageName?: string; }; type BuildRESTFunction = T extends RESTFunctionDescriptor ? U : never; type EventDefinition = { __type: 'event-definition'; type: Type; isDomainEvent?: boolean; transformations?: (envelope: unknown) => Payload; __payload: Payload; }; declare function EventDefinition(type: Type, isDomainEvent?: boolean, transformations?: (envelope: any) => unknown): () => EventDefinition; type EventHandler = (payload: T['__payload']) => void | Promise; type BuildEventDefinition> = (handler: EventHandler) => void; type ServicePluginMethodInput = { request: any; metadata: any; }; type ServicePluginContract = Record unknown | Promise>; type ServicePluginMethodMetadata = { name: string; primaryHttpMappingPath: string; transformations: { fromREST: (...args: unknown[]) => ServicePluginMethodInput; toREST: (...args: unknown[]) => unknown; }; }; type ServicePluginDefinition = { __type: 'service-plugin-definition'; componentType: string; methods: ServicePluginMethodMetadata[]; __contract: Contract; }; declare function ServicePluginDefinition(componentType: string, methods: ServicePluginMethodMetadata[]): ServicePluginDefinition; type BuildServicePluginDefinition> = (implementation: T['__contract']) => void; declare const SERVICE_PLUGIN_ERROR_TYPE = "wix_spi_error"; type RequestContext = { isSSR: boolean; host: string; protocol?: string; }; type ResponseTransformer = (data: any, headers?: any) => any; /** * Ambassador request options types are copied mostly from AxiosRequestConfig. * They are copied and not imported to reduce the amount of dependencies (to reduce install time). * https://github.com/axios/axios/blob/3f53eb6960f05a1f88409c4b731a40de595cb825/index.d.ts#L307-L315 */ type Method = 'get' | 'GET' | 'delete' | 'DELETE' | 'head' | 'HEAD' | 'options' | 'OPTIONS' | 'post' | 'POST' | 'put' | 'PUT' | 'patch' | 'PATCH' | 'purge' | 'PURGE' | 'link' | 'LINK' | 'unlink' | 'UNLINK'; type AmbassadorRequestOptions = { _?: T; url?: string; method?: Method; params?: any; data?: any; transformResponse?: ResponseTransformer | ResponseTransformer[]; }; type AmbassadorFactory = (payload: Request) => ((context: RequestContext) => AmbassadorRequestOptions) & { __isAmbassador: boolean; }; type AmbassadorFunctionDescriptor = AmbassadorFactory; type BuildAmbassadorFunction = T extends AmbassadorFunctionDescriptor ? (req: Request) => Promise : never; /** * Descriptors are objects that describe the API of a module, and the module * can either be a REST module or a host module. * This type is recursive, so it can describe nested modules. */ type Descriptors = RESTFunctionDescriptor | AmbassadorFunctionDescriptor | HostModule | EventDefinition | ServicePluginDefinition | { [key: string]: Descriptors | PublicMetadata | any; }; /** * This type takes in a descriptors object of a certain Host (including an `unknown` host) * and returns an object with the same structure, but with all descriptors replaced with their API. * Any non-descriptor properties are removed from the returned object, including descriptors that * do not match the given host (as they will not work with the given host). */ type BuildDescriptors | undefined, Depth extends number = 5> = { done: T; recurse: T extends { __type: typeof SERVICE_PLUGIN_ERROR_TYPE; } ? never : T extends AmbassadorFunctionDescriptor ? BuildAmbassadorFunction : T extends RESTFunctionDescriptor ? BuildRESTFunction : T extends EventDefinition ? BuildEventDefinition : T extends ServicePluginDefinition ? BuildServicePluginDefinition : T extends HostModule ? HostModuleAPI : ConditionalExcept<{ [Key in keyof T]: T[Key] extends Descriptors ? BuildDescriptors : never; }, EmptyObject>; }[Depth extends -1 ? 'done' : 'recurse']; type PublicMetadata = { PACKAGE_NAME?: string; }; declare global { interface ContextualClient { } } /** * A type used to create concerete types from SDK descriptors in * case a contextual client is available. */ type MaybeContext = globalThis.ContextualClient extends { host: Host; } ? BuildDescriptors : T; declare global { /** * A global interface to set the exposure toggle for the SDK. * @example * ```ts * declare global { * interface SDKExposureToggle { * alpha: true; * } * } */ interface SDKExposureToggle { } } declare global { /** * A global interface to set the type mode for the SDK. * @example * ```ts * declare global { * interface SDKTypeMode { * strict: true; * } * } */ interface SDKTypeMode { } } interface MemberAbout { /** * About ID. * @readonly */ _id?: string | null; /** * Revision. * @readonly */ revision?: string | null; /** Member ID. */ memberId?: string | null; /** https://github.com/wix-private/wix-ricos/blob/master/wix-ricos-schema/src/main/proto/wix/rich_content/v1/rich_content.proto */ content?: RichContent; } interface RichContent { /** Node objects representing a rich content document. */ nodes?: Node[]; /** Object metadata. */ metadata?: Metadata; /** Global styling for header, paragraph, block quote, and code block nodes in the object. */ documentStyle?: DocumentStyle; } interface Node extends NodeDataOneOf { /** Data for a button node. */ buttonData?: ButtonData; /** Data for a code block node. */ codeBlockData?: CodeBlockData; /** Data for a divider node. */ dividerData?: DividerData; /** Data for a file node. */ fileData?: FileData; /** Data for a gallery node. */ galleryData?: GalleryData; /** Data for a GIF node. */ gifData?: GIFData; /** Data for a heading node. */ headingData?: HeadingData; /** Data for an embedded HTML node. */ htmlData?: HTMLData; /** Data for an image node. */ imageData?: ImageData; /** Data for a link preview node. */ linkPreviewData?: LinkPreviewData; /** Data for a map node. */ mapData?: MapData; /** Data for a paragraph node. */ paragraphData?: ParagraphData; /** Data for a poll node. */ pollData?: PollData; /** Data for a text node. Used to apply decorations to text. */ textData?: TextData; /** Data for an app embed node. */ appEmbedData?: AppEmbedData; /** Data for a video node. */ videoData?: VideoData; /** Data for an oEmbed node. */ embedData?: EmbedData; /** Data for a collapsible list node. */ collapsibleListData?: CollapsibleListData; /** Data for a table node. */ tableData?: TableData; /** Data for a table cell node. */ tableCellData?: TableCellData; /** Data for a custom external node. */ externalData?: Record | null; /** Data for an audio node. */ audioData?: AudioData; /** Data for an ordered list node. */ orderedListData?: OrderedListData; /** Data for a bulleted list node. */ bulletedListData?: BulletedListData; /** Data for a block quote node. */ blockquoteData?: BlockquoteData; /** Data for a caption node. */ captionData?: CaptionData; /** Node type. Use `APP_EMBED` for nodes that embed content from other Wix apps. Use `EMBED` to embed content in [oEmbed](https://oembed.com/) format. */ type?: NodeType; /** Node ID. */ _id?: string; /** A list of child nodes. */ nodes?: Node[]; /** Padding and background color styling for the node. */ style?: NodeStyle; } /** @oneof */ interface NodeDataOneOf { /** Data for a button node. */ buttonData?: ButtonData; /** Data for a code block node. */ codeBlockData?: CodeBlockData; /** Data for a divider node. */ dividerData?: DividerData; /** Data for a file node. */ fileData?: FileData; /** Data for a gallery node. */ galleryData?: GalleryData; /** Data for a GIF node. */ gifData?: GIFData; /** Data for a heading node. */ headingData?: HeadingData; /** Data for an embedded HTML node. */ htmlData?: HTMLData; /** Data for an image node. */ imageData?: ImageData; /** Data for a link preview node. */ linkPreviewData?: LinkPreviewData; /** Data for a map node. */ mapData?: MapData; /** Data for a paragraph node. */ paragraphData?: ParagraphData; /** Data for a poll node. */ pollData?: PollData; /** Data for a text node. Used to apply decorations to text. */ textData?: TextData; /** Data for an app embed node. */ appEmbedData?: AppEmbedData; /** Data for a video node. */ videoData?: VideoData; /** Data for an oEmbed node. */ embedData?: EmbedData; /** Data for a collapsible list node. */ collapsibleListData?: CollapsibleListData; /** Data for a table node. */ tableData?: TableData; /** Data for a table cell node. */ tableCellData?: TableCellData; /** Data for a custom external node. */ externalData?: Record | null; /** Data for an audio node. */ audioData?: AudioData; /** Data for an ordered list node. */ orderedListData?: OrderedListData; /** Data for a bulleted list node. */ bulletedListData?: BulletedListData; /** Data for a block quote node. */ blockquoteData?: BlockquoteData; /** Data for a caption node. */ captionData?: CaptionData; } declare enum NodeType { PARAGRAPH = "PARAGRAPH", TEXT = "TEXT", HEADING = "HEADING", BULLETED_LIST = "BULLETED_LIST", ORDERED_LIST = "ORDERED_LIST", LIST_ITEM = "LIST_ITEM", BLOCKQUOTE = "BLOCKQUOTE", CODE_BLOCK = "CODE_BLOCK", VIDEO = "VIDEO", DIVIDER = "DIVIDER", FILE = "FILE", GALLERY = "GALLERY", GIF = "GIF", HTML = "HTML", IMAGE = "IMAGE", LINK_PREVIEW = "LINK_PREVIEW", MAP = "MAP", POLL = "POLL", APP_EMBED = "APP_EMBED", BUTTON = "BUTTON", COLLAPSIBLE_LIST = "COLLAPSIBLE_LIST", TABLE = "TABLE", EMBED = "EMBED", COLLAPSIBLE_ITEM = "COLLAPSIBLE_ITEM", COLLAPSIBLE_ITEM_TITLE = "COLLAPSIBLE_ITEM_TITLE", COLLAPSIBLE_ITEM_BODY = "COLLAPSIBLE_ITEM_BODY", TABLE_CELL = "TABLE_CELL", TABLE_ROW = "TABLE_ROW", EXTERNAL = "EXTERNAL", AUDIO = "AUDIO", CAPTION = "CAPTION" } interface NodeStyle { /** The top padding value in pixels. */ paddingTop?: string | null; /** The bottom padding value in pixels. */ paddingBottom?: string | null; /** The background color as a hexadecimal value. */ backgroundColor?: string | null; } interface ButtonData { /** Styling for the button's container. */ containerData?: PluginContainerData; /** The button type. */ type?: Type; /** Styling for the button. */ styles?: Styles; /** The text to display on the button. */ text?: string | null; /** Button link details. */ link?: Link; } interface Border { /** Border width in pixels. */ width?: number | null; /** Border radius in pixels. */ radius?: number | null; } interface Colors { /** The text color as a hexadecimal value. */ text?: string | null; /** The border color as a hexadecimal value. */ border?: string | null; /** The background color as a hexadecimal value. */ background?: string | null; } interface PluginContainerData { /** The width of the node when it's displayed. */ width?: PluginContainerDataWidth; /** The node's alignment within its container. */ alignment?: PluginContainerDataAlignment; /** Spoiler cover settings for the node. */ spoiler?: Spoiler; /** The height of the node when it's displayed. */ height?: Height; /** Sets whether text should wrap around this node when it's displayed. If `textWrap` is `false`, the node takes up the width of its container. Defaults to `true` for all node types except 'DIVIVDER' where it defaults to `false`. */ textWrap?: boolean | null; } declare enum WidthType { /** Width matches the content width */ CONTENT = "CONTENT", /** Small Width */ SMALL = "SMALL", /** Width will match the original asset width */ ORIGINAL = "ORIGINAL", /** coast-to-coast display */ FULL_WIDTH = "FULL_WIDTH" } interface PluginContainerDataWidth extends PluginContainerDataWidthDataOneOf { /** * One of the following predefined width options: * `CONTENT`: The width of the container matches the content width. * `SMALL`: A small width. * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width. * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen. */ size?: WidthType; /** A custom width value in pixels. */ custom?: string | null; } /** @oneof */ interface PluginContainerDataWidthDataOneOf { /** * One of the following predefined width options: * `CONTENT`: The width of the container matches the content width. * `SMALL`: A small width. * `ORIGINAL`: For `imageData` containers only. The width of the container matches the original image width. * `FULL_WIDTH`: For `imageData` containers only. The image container takes up the full width of the screen. */ size?: WidthType; /** A custom width value in pixels. */ custom?: string | null; } declare enum PluginContainerDataAlignment { /** Center Alignment */ CENTER = "CENTER", /** Left Alignment */ LEFT = "LEFT", /** Right Alignment */ RIGHT = "RIGHT" } interface Spoiler { /** Sets whether the spoiler cover is enabled for this node. Defaults to `false`. */ enabled?: boolean | null; /** The description displayed on top of the spoiler cover. */ description?: string | null; /** The text for the button used to remove the spoiler cover. */ buttonText?: string | null; } interface Height { /** A custom height value in pixels. */ custom?: string | null; } declare enum Type { /** Regular link button */ LINK = "LINK", /** Triggers custom action that is defined in plugin configuration by the consumer */ ACTION = "ACTION" } interface Styles { /** Border attributes. */ border?: Border; /** Color attributes. */ colors?: Colors; } interface Link extends LinkDataOneOf { /** The absolute URL for the linked document. */ url?: string; /** The target node's ID. Used for linking to another node in this object. */ anchor?: string; /** * he HTML `target` attribute value for the link. This property defines where the linked document opens as follows: * `SELF` - Default. Opens the linked document in the same frame as the link. * `BLANK` - Opens the linked document in a new browser tab or window. * `PARENT` - Opens the linked document in the link's parent frame. * `TOP` - Opens the linked document in the full body of the link's browser tab or window. */ target?: Target; /** The HTML `rel` attribute value for the link. This object specifies the relationship between the current document and the linked document. */ rel?: Rel; /** A serialized object used for a custom or external link panel. */ customData?: string | null; } /** @oneof */ interface LinkDataOneOf { /** The absolute URL for the linked document. */ url?: string; /** The target node's ID. Used for linking to another node in this object. */ anchor?: string; } declare enum Target { /** Opens the linked document in the same frame as it was clicked (this is default) */ SELF = "SELF", /** Opens the linked document in a new window or tab */ BLANK = "BLANK", /** Opens the linked document in the parent frame */ PARENT = "PARENT", /** Opens the linked document in the full body of the window */ TOP = "TOP" } interface Rel { /** Indicates to search engine crawlers not to follow the link. Defaults to `false`. */ nofollow?: boolean | null; /** Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. Defaults to `false`. */ sponsored?: boolean | null; /** Indicates that this link is user-generated content and isn't necessarily trusted or endorsed by the page’s author. For example, a link in a fourm post. Defaults to `false`. */ ugc?: boolean | null; /** Indicates that this link protect referral information from being passed to the target website. */ noreferrer?: boolean | null; } interface CodeBlockData { /** Styling for the code block's text. */ textStyle?: TextStyle; } interface TextStyle { /** Text alignment. Defaults to `AUTO`. */ textAlignment?: TextAlignment; /** A CSS `line-height` value for the text expressed as a ratio relative to the font size. For example, if the font size is 20px, a `lineHeight` value of `'1.5'`` results in a line height of 30px. */ lineHeight?: string | null; } declare enum TextAlignment { /** browser default, eqivalent to `initial` */ AUTO = "AUTO", /** Left align */ LEFT = "LEFT", /** Right align */ RIGHT = "RIGHT", /** Center align */ CENTER = "CENTER", /** Text is spaced to line up its left and right edges to the left and right edges of the line box, except for the last line */ JUSTIFY = "JUSTIFY" } interface DividerData { /** Styling for the divider's container. */ containerData?: PluginContainerData; /** Divider line style. */ lineStyle?: LineStyle; /** Divider width. */ width?: Width; /** Divider alignment. */ alignment?: Alignment; } declare enum LineStyle { /** Single Line */ SINGLE = "SINGLE", /** Double Line */ DOUBLE = "DOUBLE", /** Dashed Line */ DASHED = "DASHED", /** Dotted Line */ DOTTED = "DOTTED" } declare enum Width { /** Large line */ LARGE = "LARGE", /** Medium line */ MEDIUM = "MEDIUM", /** Small line */ SMALL = "SMALL" } declare enum Alignment { /** Center alignment */ CENTER = "CENTER", /** Left alignment */ LEFT = "LEFT", /** Right alignment */ RIGHT = "RIGHT" } interface FileData { /** Styling for the file's container. */ containerData?: PluginContainerData; /** The source for the file's data. */ src?: FileSource; /** File name. */ name?: string | null; /** File type. */ type?: string | null; /** * Use `sizeInKb` instead. * @deprecated */ size?: number | null; /** Settings for PDF files. */ pdfSettings?: PDFSettings; /** File MIME type. */ mimeType?: string | null; /** File path. */ path?: string | null; /** File size in KB. */ sizeInKb?: string | null; } declare enum ViewMode { /** No PDF view */ NONE = "NONE", /** Full PDF view */ FULL = "FULL", /** Mini PDF view */ MINI = "MINI" } interface FileSource extends FileSourceDataOneOf { /** The absolute URL for the file's source. */ url?: string | null; /** * Custom ID. Use `id` instead. * @deprecated */ custom?: string | null; /** An ID that's resolved to a URL by a resolver function. */ _id?: string | null; /** Indicates whether the file's source is private. Defaults to `false`. */ private?: boolean | null; } /** @oneof */ interface FileSourceDataOneOf { /** The absolute URL for the file's source. */ url?: string | null; /** * Custom ID. Use `id` instead. * @deprecated */ custom?: string | null; /** An ID that's resolved to a URL by a resolver function. */ _id?: string | null; } interface PDFSettings { /** * PDF view mode. One of the following: * `NONE` : The PDF isn't displayed. * `FULL` : A full page view of the PDF is displayed. * `MINI` : A mini view of the PDF is displayed. */ viewMode?: ViewMode; /** Sets whether the PDF download button is disabled. Defaults to `false`. */ disableDownload?: boolean | null; /** Sets whether the PDF print button is disabled. Defaults to `false`. */ disablePrint?: boolean | null; } interface GalleryData { /** Styling for the gallery's container. */ containerData?: PluginContainerData; /** The items in the gallery. */ items?: Item[]; /** Options for defining the gallery's appearance. */ options?: GalleryOptions; /** Sets whether the gallery's expand button is disabled. Defaults to `false`. */ disableExpand?: boolean | null; /** Sets whether the gallery's download button is disabled. Defaults to `false`. */ disableDownload?: boolean | null; } interface Media { /** The source for the media's data. */ src?: FileSource; /** Media width in pixels. */ width?: number | null; /** Media height in pixels. */ height?: number | null; /** Media duration in seconds. Only relevant for audio and video files. */ duration?: number | null; } interface Image { /** Image file details. */ media?: Media; /** Link details for images that are links. */ link?: Link; } interface Video { /** Video file details. */ media?: Media; /** Video thumbnail file details. */ thumbnail?: Media; } interface Item extends ItemDataOneOf { /** An image item. */ image?: Image; /** A video item. */ video?: Video; /** Item title. */ title?: string | null; /** Item's alternative text. */ altText?: string | null; } /** @oneof */ interface ItemDataOneOf { /** An image item. */ image?: Image; /** A video item. */ video?: Video; } interface GalleryOptions { /** Gallery layout. */ layout?: Layout; /** Styling for gallery items. */ item?: ItemStyle; /** Styling for gallery thumbnail images. */ thumbnails?: Thumbnails; } declare enum LayoutType { /** Collage type */ COLLAGE = "COLLAGE", /** Masonry type */ MASONRY = "MASONRY", /** Grid type */ GRID = "GRID", /** Thumbnail type */ THUMBNAIL = "THUMBNAIL", /** Slider type */ SLIDER = "SLIDER", /** Slideshow type */ SLIDESHOW = "SLIDESHOW", /** Panorama type */ PANORAMA = "PANORAMA", /** Column type */ COLUMN = "COLUMN", /** Magic type */ MAGIC = "MAGIC", /** Fullsize images type */ FULLSIZE = "FULLSIZE" } declare enum Orientation { /** Rows Orientation */ ROWS = "ROWS", /** Columns Orientation */ COLUMNS = "COLUMNS" } declare enum Crop { /** Crop to fill */ FILL = "FILL", /** Crop to fit */ FIT = "FIT" } declare enum ThumbnailsAlignment { /** Top alignment */ TOP = "TOP", /** Right alignment */ RIGHT = "RIGHT", /** Bottom alignment */ BOTTOM = "BOTTOM", /** Left alignment */ LEFT = "LEFT", /** No thumbnail */ NONE = "NONE" } interface Layout { /** Gallery layout type. */ type?: LayoutType; /** Sets whether horizontal scroll is enabled. Defaults to `true` unless the layout `type` is set to `GRID` or `COLLAGE`. */ horizontalScroll?: boolean | null; /** Gallery orientation. */ orientation?: Orientation; /** The number of columns to display on full size screens. */ numberOfColumns?: number | null; /** The number of columns to display on mobile screens. */ mobileNumberOfColumns?: number | null; } interface ItemStyle { /** Desirable dimension for each item in pixels (behvaior changes according to gallery type) */ targetSize?: number | null; /** Item ratio */ ratio?: number | null; /** Sets how item images are cropped. */ crop?: Crop; /** The spacing between items in pixels. */ spacing?: number | null; } interface Thumbnails { /** Thumbnail alignment. */ placement?: ThumbnailsAlignment; /** Spacing between thumbnails in pixels. */ spacing?: number | null; } interface GIFData { /** Styling for the GIF's container. */ containerData?: PluginContainerData; /** The source of the full size GIF. */ original?: GIF; /** The source of the downsized GIF. */ downsized?: GIF; /** Height in pixels. */ height?: number; /** Width in pixels. */ width?: number; } interface GIF { /** GIF format URL. */ gif?: string | null; /** MP4 format URL. */ mp4?: string | null; /** Thumbnail URL. */ still?: string | null; } interface HeadingData { /** Heading level from 1-6. */ level?: number; /** Styling for the heading text. */ textStyle?: TextStyle; /** Indentation level from 1-4. */ indentation?: number | null; } interface HTMLData extends HTMLDataDataOneOf { /** The URL for the HTML code for the node. */ url?: string; /** The HTML code for the node. */ html?: string; /** * Whether this is an AdSense element. Use `source` instead. * @deprecated */ isAdsense?: boolean | null; /** Styling for the HTML node's container. */ containerData?: PluginContainerData; /** The type of HTML code. */ source?: Source; } /** @oneof */ interface HTMLDataDataOneOf { /** The URL for the HTML code for the node. */ url?: string; /** The HTML code for the node. */ html?: string; /** * Whether this is an AdSense element. Use `source` instead. * @deprecated */ isAdsense?: boolean | null; } declare enum Source { HTML = "HTML", ADSENSE = "ADSENSE" } interface ImageData { /** Styling for the image's container. */ containerData?: PluginContainerData; /** Image file details. */ image?: Media; /** Link details for images that are links. */ link?: Link; /** Sets whether the image expands to full screen when clicked. Defaults to `false`. */ disableExpand?: boolean | null; /** Image's alternative text. */ altText?: string | null; /** * Deprecated: use Caption node instead. * @deprecated */ caption?: string | null; /** Sets whether the image's download button is disabled. Defaults to `false`. */ disableDownload?: boolean | null; } interface LinkPreviewData { /** Styling for the link preview's container. */ containerData?: PluginContainerData; /** Link details. */ link?: Link; /** Preview title. */ title?: string | null; /** Preview thumbnail URL. */ thumbnailUrl?: string | null; /** Preview description. */ description?: string | null; /** The preview content as HTML. */ html?: string | null; } interface MapData { /** Styling for the map's container. */ containerData?: PluginContainerData; /** Map settings. */ mapSettings?: MapSettings; } interface MapSettings { /** The address to display on the map. */ address?: string | null; /** Sets whether the map is draggable. */ draggable?: boolean | null; /** Sets whether the location marker is visible. */ marker?: boolean | null; /** Sets whether street view control is enabled. */ streetViewControl?: boolean | null; /** Sets whether zoom control is enabled. */ zoomControl?: boolean | null; /** Location latitude. */ lat?: number | null; /** Location longitude. */ lng?: number | null; /** Location name. */ locationName?: string | null; /** Sets whether view mode control is enabled. */ viewModeControl?: boolean | null; /** Initial zoom value. */ initialZoom?: number | null; /** Map type. `HYBRID` is a combination of the `ROADMAP` and `SATELLITE` map types. */ mapType?: MapType; } declare enum MapType { /** Roadmap map type */ ROADMAP = "ROADMAP", /** Satellite map type */ SATELITE = "SATELITE", /** Hybrid map type */ HYBRID = "HYBRID", /** Terrain map type */ TERRAIN = "TERRAIN" } interface ParagraphData { /** Styling for the paragraph text. */ textStyle?: TextStyle; /** Indentation level from 1-4. */ indentation?: number | null; /** Paragraph level */ level?: number | null; } interface PollData { /** Styling for the poll's container. */ containerData?: PluginContainerData; /** Poll data. */ poll?: Poll; /** Layout settings for the poll and voting options. */ layout?: PollDataLayout; /** Styling for the poll and voting options. */ design?: Design; } declare enum ViewRole { /** Only Poll creator can view the results */ CREATOR = "CREATOR", /** Anyone who voted can see the results */ VOTERS = "VOTERS", /** Anyone can see the results, even if one didn't vote */ EVERYONE = "EVERYONE" } declare enum VoteRole { /** Logged in member */ SITE_MEMBERS = "SITE_MEMBERS", /** Anyone */ ALL = "ALL" } interface Permissions { /** Sets who can view the poll results. */ view?: ViewRole; /** Sets who can vote. */ vote?: VoteRole; /** Sets whether one voter can vote multiple times. Defaults to `false`. */ allowMultipleVotes?: boolean | null; } interface Option { /** Option ID. */ _id?: string | null; /** Option title. */ title?: string | null; /** The image displayed with the option. */ image?: Media; } interface Settings { /** Permissions settings for voting. */ permissions?: Permissions; /** Sets whether voters are displayed in the vote results. Defaults to `true`. */ showVoters?: boolean | null; /** Sets whether the vote count is displayed. Defaults to `true`. */ showVotesCount?: boolean | null; } declare enum PollLayoutType { /** List */ LIST = "LIST", /** Grid */ GRID = "GRID" } declare enum PollLayoutDirection { /** Left-to-right */ LTR = "LTR", /** Right-to-left */ RTL = "RTL" } interface PollLayout { /** The layout for displaying the voting options. */ type?: PollLayoutType; /** The direction of the text displayed in the voting options. Text can be displayed either right-to-left or left-to-right. */ direction?: PollLayoutDirection; /** Sets whether to display the main poll image. Defaults to `false`. */ enableImage?: boolean | null; } interface OptionLayout { /** Sets whether to display option images. Defaults to `false`. */ enableImage?: boolean | null; } declare enum BackgroundType { /** Color background type */ COLOR = "COLOR", /** Image background type */ IMAGE = "IMAGE", /** Gradiant background type */ GRADIENT = "GRADIENT" } interface Gradient { /** The gradient angle in degrees. */ angle?: number | null; /** The start color as a hexademical value. */ startColor?: string | null; /** The end color as a hexademical value. */ lastColor?: string | null; } interface Background extends BackgroundBackgroundOneOf { /** The background color as a hexademical value. */ color?: string | null; /** An image to use for the background. */ image?: Media; /** Details for a gradient background. */ gradient?: Gradient; /** Background type. For each option, include the relevant details. */ type?: BackgroundType; } /** @oneof */ interface BackgroundBackgroundOneOf { /** The background color as a hexademical value. */ color?: string | null; /** An image to use for the background. */ image?: Media; /** Details for a gradient background. */ gradient?: Gradient; } interface PollDesign { /** Background styling. */ background?: Background; /** Border radius in pixels. */ borderRadius?: number | null; } interface OptionDesign { /** Border radius in pixels. */ borderRadius?: number | null; } interface Poll { /** Poll ID. */ _id?: string | null; /** Poll title. */ title?: string | null; /** Poll creator ID. */ creatorId?: string | null; /** Main poll image. */ image?: Media; /** Voting options. */ options?: Option[]; /** The poll's permissions and display settings. */ settings?: Settings; } interface PollDataLayout { /** Poll layout settings. */ poll?: PollLayout; /** Voting otpions layout settings. */ options?: OptionLayout; } interface Design { /** Styling for the poll. */ poll?: PollDesign; /** Styling for voting options. */ options?: OptionDesign; } interface TextData { /** The text to apply decorations to. */ text?: string; /** The decorations to apply. */ decorations?: Decoration[]; } /** Adds appearence changes to text */ interface Decoration extends DecorationDataOneOf { /** Data for an anchor link decoration. */ anchorData?: AnchorData; /** Data for a color decoration. */ colorData?: ColorData; /** Data for an external link decoration. */ linkData?: LinkData; /** Data for a mention decoration. */ mentionData?: MentionData; /** Data for a font size decoration. */ fontSizeData?: FontSizeData; /** Font weight for a bold decoration. */ fontWeightValue?: number | null; /** Data for an italic decoration. Defaults to `true`. */ italicData?: boolean | null; /** Data for an underline decoration. Defaults to `true`. */ underlineData?: boolean | null; /** Data for a spoiler decoration. */ spoilerData?: SpoilerData; /** The type of decoration to apply. */ type?: DecorationType; } /** @oneof */ interface DecorationDataOneOf { /** Data for an anchor link decoration. */ anchorData?: AnchorData; /** Data for a color decoration. */ colorData?: ColorData; /** Data for an external link decoration. */ linkData?: LinkData; /** Data for a mention decoration. */ mentionData?: MentionData; /** Data for a font size decoration. */ fontSizeData?: FontSizeData; /** Font weight for a bold decoration. */ fontWeightValue?: number | null; /** Data for an italic decoration. Defaults to `true`. */ italicData?: boolean | null; /** Data for an underline decoration. Defaults to `true`. */ underlineData?: boolean | null; /** Data for a spoiler decoration. */ spoilerData?: SpoilerData; } declare enum DecorationType { BOLD = "BOLD", ITALIC = "ITALIC", UNDERLINE = "UNDERLINE", SPOILER = "SPOILER", ANCHOR = "ANCHOR", MENTION = "MENTION", LINK = "LINK", COLOR = "COLOR", FONT_SIZE = "FONT_SIZE", EXTERNAL = "EXTERNAL" } interface AnchorData { /** The target node's ID. */ anchor?: string; } interface ColorData { /** The text's background color as a hexadecimal value. */ background?: string | null; /** The text's foreground color as a hexadecimal value. */ foreground?: string | null; } interface LinkData { /** Link details. */ link?: Link; } interface MentionData { /** The mentioned user's name. */ name?: string; /** The version of the user's name that appears after the `@` character in the mention. */ slug?: string; /** Mentioned user's ID. */ _id?: string | null; } interface FontSizeData { /** The units used for the font size. */ unit?: FontType; /** Font size value. */ value?: number | null; } declare enum FontType { PX = "PX", EM = "EM" } interface SpoilerData { /** Spoiler ID. */ _id?: string | null; } interface AppEmbedData extends AppEmbedDataAppDataOneOf { /** Data for embedded Wix Bookings content. */ bookingData?: BookingData; /** Data for embedded Wix Events content. */ eventData?: EventData; /** The type of Wix App content being embedded. */ type?: AppType; /** The ID of the embedded content. */ itemId?: string | null; /** The name of the embedded content. */ name?: string | null; /** * Deprecated: Use `image` instead. * @deprecated */ imageSrc?: string | null; /** The URL for the embedded content. */ url?: string | null; /** An image for the embedded content. */ image?: Media; } /** @oneof */ interface AppEmbedDataAppDataOneOf { /** Data for embedded Wix Bookings content. */ bookingData?: BookingData; /** Data for embedded Wix Events content. */ eventData?: EventData; } declare enum AppType { PRODUCT = "PRODUCT", EVENT = "EVENT", BOOKING = "BOOKING" } interface BookingData { /** Booking duration in minutes. */ durations?: string | null; } interface EventData { /** Event schedule. */ scheduling?: string | null; /** Event location. */ location?: string | null; } interface VideoData { /** Styling for the video's container. */ containerData?: PluginContainerData; /** Video details. */ video?: Media; /** Video thumbnail details. */ thumbnail?: Media; /** Sets whether the video's download button is disabled. Defaults to `false`. */ disableDownload?: boolean | null; /** Video title. */ title?: string | null; /** Video options. */ options?: PlaybackOptions; } interface PlaybackOptions { /** Sets whether the media will automatically start playing. */ autoPlay?: boolean | null; /** Sets whether media's will be looped. */ playInLoop?: boolean | null; /** Sets whether media's controls will be shown. */ showControls?: boolean | null; } interface EmbedData { /** Styling for the oEmbed node's container. */ containerData?: PluginContainerData; /** An [oEmbed](https://www.oembed.com) object. */ oembed?: Oembed; /** Origin asset source. */ src?: string | null; } interface Oembed { /** The resource type. */ type?: string | null; /** The width of the resource specified in the `url` property in pixels. */ width?: number | null; /** The height of the resource specified in the `url` property in pixels. */ height?: number | null; /** Resource title. */ title?: string | null; /** The source URL for the resource. */ url?: string | null; /** HTML for embedding a video player. The HTML should have no padding or margins. */ html?: string | null; /** The name of the author or owner of the resource. */ authorName?: string | null; /** The URL for the author or owner of the resource. */ authorUrl?: string | null; /** The name of the resource provider. */ providerName?: string | null; /** The URL for the resource provider. */ providerUrl?: string | null; /** The URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. */ thumbnailUrl?: string | null; /** The width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. */ thumbnailWidth?: string | null; /** The height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. */ thumbnailHeight?: string | null; /** The URL for an embedded viedo. */ videoUrl?: string | null; /** The oEmbed version number. This value must be `1.0`. */ version?: string | null; } interface CollapsibleListData { /** Styling for the collapsible list's container. */ containerData?: PluginContainerData; /** If `true`, only one item can be expanded at a time. Defaults to `false`. */ expandOnlyOne?: boolean | null; /** Sets which items are expanded when the page loads. */ initialExpandedItems?: InitialExpandedItems; /** The direction of the text in the list. Either left-to-right or right-to-left. */ direction?: Direction; /** If `true`, The collapsible item will appear in search results as an FAQ. */ isQapageData?: boolean | null; } declare enum InitialExpandedItems { /** First item will be expended initally */ FIRST = "FIRST", /** All items will expended initally */ ALL = "ALL", /** All items collapsed initally */ NONE = "NONE" } declare enum Direction { /** Left-to-right */ LTR = "LTR", /** Right-to-left */ RTL = "RTL" } interface TableData { /** Styling for the table's container. */ containerData?: PluginContainerData; /** The table's dimensions. */ dimensions?: Dimensions; /** * Deprecated: Use `rowHeader` and `columnHeader` instead. * @deprecated */ header?: boolean | null; /** Sets whether the table's first row is a header. Defaults to `false`. */ rowHeader?: boolean | null; /** Sets whether the table's first column is a header. Defaults to `false`. */ columnHeader?: boolean | null; } interface Dimensions { /** An array representing relative width of each column in relation to the other columns. */ colsWidthRatio?: number[]; /** An array representing the height of each row in pixels. */ rowsHeight?: number[]; /** An array representing the minimum width of each column in pixels. */ colsMinWidth?: number[]; } interface TableCellData { /** Styling for the cell's background color and text alignment. */ cellStyle?: CellStyle; /** The cell's border colors. */ borderColors?: BorderColors; } declare enum VerticalAlignment { /** Top alignment */ TOP = "TOP", /** Middle alignment */ MIDDLE = "MIDDLE", /** Bottom alignment */ BOTTOM = "BOTTOM" } interface CellStyle { /** Vertical alignment for the cell's text. */ verticalAlignment?: VerticalAlignment; /** Cell background color as a hexadecimal value. */ backgroundColor?: string | null; } interface BorderColors { /** Left border color as a hexadecimal value. */ left?: string | null; /** Right border color as a hexadecimal value. */ right?: string | null; /** Top border color as a hexadecimal value. */ top?: string | null; /** Bottom border color as a hexadecimal value. */ bottom?: string | null; } /** * `NullValue` is a singleton enumeration to represent the null value for the * `Value` type union. * * The JSON representation for `NullValue` is JSON `null`. */ declare enum NullValue { /** Null value. */ NULL_VALUE = "NULL_VALUE" } /** * `ListValue` is a wrapper around a repeated field of values. * * The JSON representation for `ListValue` is JSON array. */ interface ListValue { /** Repeated field of dynamically typed values. */ values?: any[]; } interface AudioData { /** Styling for the audio node's container. */ containerData?: PluginContainerData; /** Audio file details. */ audio?: Media; /** Sets whether the audio node's download button is disabled. Defaults to `false`. */ disableDownload?: boolean | null; /** Cover image. */ coverImage?: Media; /** Track name. */ name?: string | null; /** Author name. */ authorName?: string | null; /** An HTML version of the audio node. */ html?: string | null; } interface OrderedListData { /** Indentation level from 0-4. */ indentation?: number; /** Offset level from 0-4. */ offset?: number | null; /** List start number. */ start?: number | null; } interface BulletedListData { /** Indentation level from 0-4. */ indentation?: number; /** Offset level from 0-4. */ offset?: number | null; } interface BlockquoteData { /** Indentation level from 1-4. */ indentation?: number; } interface CaptionData { textStyle?: TextStyle; } interface Metadata { /** Schema version. */ version?: number; /** * When the object was created. * @readonly * @deprecated */ createdTimestamp?: Date | null; /** * When the object was most recently updated. * @deprecated */ updatedTimestamp?: Date | null; /** Object ID. */ _id?: string | null; } interface DocumentStyle { /** Styling for H1 nodes. */ headerOne?: TextNodeStyle; /** Styling for H2 nodes. */ headerTwo?: TextNodeStyle; /** Styling for H3 nodes. */ headerThree?: TextNodeStyle; /** Styling for H4 nodes. */ headerFour?: TextNodeStyle; /** Styling for H5 nodes. */ headerFive?: TextNodeStyle; /** Styling for H6 nodes. */ headerSix?: TextNodeStyle; /** Styling for paragraph nodes. */ paragraph?: TextNodeStyle; /** Styling for block quote nodes. */ blockquote?: TextNodeStyle; /** Styling for code block nodes. */ codeBlock?: TextNodeStyle; } interface TextNodeStyle { /** The decorations to apply to the node. */ decorations?: Decoration[]; /** Padding and background color for the node. */ nodeStyle?: NodeStyle; /** Line height for text in the node. */ lineHeight?: string | null; } interface CreateMemberAboutRequest { memberAbout: MemberAbout; } interface CreateMemberAboutResponse { memberAbout?: MemberAbout; } interface UpdateMemberAboutRequest { memberAbout?: MemberAbout; } interface UpdateMemberAboutResponse { memberAbout?: MemberAbout; } interface DeleteMemberAboutRequest { _id: string; } interface DeleteMemberAboutResponse { } interface GetMemberAboutRequest { _id: string; } interface GetMemberAboutResponse { memberAbout?: MemberAbout; } interface GetMyMemberAboutRequest { } interface GetMyMemberAboutResponse { memberAbout?: MemberAbout; } interface QueryMemberAboutsRequest { query?: CursorQuery; } interface CursorQuery extends CursorQueryPagingMethodOneOf { /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */ cursorPaging?: CursorPaging; /** * Filter object in the following format: * `"filter" : { * "fieldName1": "value1", * "fieldName2":{"$operator":"value2"} * }` * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains` */ filter?: Record | null; /** * Sort object in the following format: * `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]` */ sort?: Sorting[]; } /** @oneof */ interface CursorQueryPagingMethodOneOf { /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */ cursorPaging?: CursorPaging; } interface Sorting { /** Name of the field to sort by. */ fieldName?: string; /** Sort order. */ order?: SortOrder; } declare enum SortOrder { ASC = "ASC", DESC = "DESC" } interface CursorPaging { /** Number of items to load. */ limit?: number | null; /** * Pointer to the next or previous page in the list of results. * * You can get the relevant cursor token * from the `pagingMetadata` object in the previous call's response. * Not relevant for the first request. */ cursor?: string | null; } interface QueryMemberAboutsResponse { memberAbouts?: MemberAbout[]; metadata?: CursorPagingMetadata; } interface CursorPagingMetadata { /** Number of items returned in current page. */ count?: number | null; /** Cursor strings that point to the next page, previous page, or both. */ cursors?: Cursors; /** * Whether there are more pages to retrieve following the current page. * * + `true`: Another page of results can be retrieved. * + `false`: This is the last page. */ hasNext?: boolean | null; } interface Cursors { /** Cursor string pointing to the next page in the list of results. */ next?: string | null; /** Cursor pointing to the previous page in the list of results. */ prev?: string | null; } interface DomainEvent extends DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; /** * Unique event ID. * Allows clients to ignore duplicate webhooks. */ _id?: string; /** * Assumes actions are also always typed to an entity_type * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction */ entityFqdn?: string; /** * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug) * This is although the created/updated/deleted notion is duplication of the oneof types * Example: created/updated/deleted/started/completed/email_opened */ slug?: string; /** ID of the entity associated with the event. */ entityId?: string; /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */ eventTime?: Date | null; /** * Whether the event was triggered as a result of a privacy regulation application * (for example, GDPR). */ triggeredByAnonymizeRequest?: boolean | null; /** If present, indicates the action that triggered the event. */ originatedFrom?: string | null; /** * A sequence number defining the order of updates to the underlying entity. * For example, given that some entity was updated at 16:00 and than again at 16:01, * it is guaranteed that the sequence number of the second update is strictly higher than the first. * As the consumer, you can use this value to ensure that you handle messages in the correct order. * To do so, you will need to persist this number on your end, and compare the sequence number from the * message against the one you have stored. Given that the stored number is higher, you should ignore the message. */ entityEventSequence?: string | null; } /** @oneof */ interface DomainEventBodyOneOf { createdEvent?: EntityCreatedEvent; updatedEvent?: EntityUpdatedEvent; deletedEvent?: EntityDeletedEvent; actionEvent?: ActionEvent; } interface EntityCreatedEvent { entity?: string; } interface RestoreInfo { deletedDate?: Date | null; } interface EntityUpdatedEvent { /** * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff. * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects. * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it. */ currentEntity?: string; } interface EntityDeletedEvent { /** Entity that was deleted */ deletedEntity?: string | null; } interface ActionEvent { body?: string; } interface Empty { } interface MessageEnvelope { /** App instance ID. */ instanceId?: string | null; /** Event type. */ eventType?: string; /** The identification type and identity data. */ identity?: IdentificationData; /** Stringify payload. */ data?: string; } interface IdentificationData extends IdentificationDataIdOneOf { /** ID of a site visitor that has not logged in to the site. */ anonymousVisitorId?: string; /** ID of a site visitor that has logged in to the site. */ memberId?: string; /** ID of a Wix user (site owner, contributor, etc.). */ wixUserId?: string; /** ID of an app. */ appId?: string; /** @readonly */ identityType?: WebhookIdentityType; } /** @oneof */ interface IdentificationDataIdOneOf { /** ID of a site visitor that has not logged in to the site. */ anonymousVisitorId?: string; /** ID of a site visitor that has logged in to the site. */ memberId?: string; /** ID of a Wix user (site owner, contributor, etc.). */ wixUserId?: string; /** ID of an app. */ appId?: string; } declare enum WebhookIdentityType { UNKNOWN = "UNKNOWN", ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR", MEMBER = "MEMBER", WIX_USER = "WIX_USER", APP = "APP" } interface PluginContainerDataWidthNonNullableFields { size: WidthType; } interface PluginContainerDataNonNullableFields { width?: PluginContainerDataWidthNonNullableFields; alignment: PluginContainerDataAlignment; } interface LinkNonNullableFields { url: string; anchor: string; target: Target; } interface ButtonDataNonNullableFields { containerData?: PluginContainerDataNonNullableFields; type: Type; link?: LinkNonNullableFields; } interface TextStyleNonNullableFields { textAlignment: TextAlignment; } interface CodeBlockDataNonNullableFields { textStyle?: TextStyleNonNullableFields; } interface DividerDataNonNullableFields { containerData?: PluginContainerDataNonNullableFields; lineStyle: LineStyle; width: Width; alignment: Alignment; } interface PDFSettingsNonNullableFields { viewMode: ViewMode; } interface FileDataNonNullableFields { containerData?: PluginContainerDataNonNullableFields; pdfSettings?: PDFSettingsNonNullableFields; } interface ImageNonNullableFields { link?: LinkNonNullableFields; } interface ItemNonNullableFields { image?: ImageNonNullableFields; } interface LayoutNonNullableFields { type: LayoutType; orientation: Orientation; } interface ItemStyleNonNullableFields { crop: Crop; } interface ThumbnailsNonNullableFields { placement: ThumbnailsAlignment; } interface GalleryOptionsNonNullableFields { layout?: LayoutNonNullableFields; item?: ItemStyleNonNullableFields; thumbnails?: ThumbnailsNonNullableFields; } interface GalleryDataNonNullableFields { containerData?: PluginContainerDataNonNullableFields; items: ItemNonNullableFields[]; options?: GalleryOptionsNonNullableFields; } interface GIFDataNonNullableFields { containerData?: PluginContainerDataNonNullableFields; height: number; width: number; } interface HeadingDataNonNullableFields { level: number; textStyle?: TextStyleNonNullableFields; } interface HTMLDataNonNullableFields { url: string; html: string; containerData?: PluginContainerDataNonNullableFields; source: Source; } interface ImageDataNonNullableFields { containerData?: PluginContainerDataNonNullableFields; link?: LinkNonNullableFields; } interface LinkPreviewDataNonNullableFields { containerData?: PluginContainerDataNonNullableFields; link?: LinkNonNullableFields; } interface MapSettingsNonNullableFields { mapType: MapType; } interface MapDataNonNullableFields { containerData?: PluginContainerDataNonNullableFields; mapSettings?: MapSettingsNonNullableFields; } interface ParagraphDataNonNullableFields { textStyle?: TextStyleNonNullableFields; } interface PermissionsNonNullableFields { view: ViewRole; vote: VoteRole; } interface SettingsNonNullableFields { permissions?: PermissionsNonNullableFields; } interface PollNonNullableFields { settings?: SettingsNonNullableFields; } interface PollLayoutNonNullableFields { type: PollLayoutType; direction: PollLayoutDirection; } interface PollDataLayoutNonNullableFields { poll?: PollLayoutNonNullableFields; } interface BackgroundNonNullableFields { type: BackgroundType; } interface PollDesignNonNullableFields { background?: BackgroundNonNullableFields; } interface DesignNonNullableFields { poll?: PollDesignNonNullableFields; } interface PollDataNonNullableFields { containerData?: PluginContainerDataNonNullableFields; poll?: PollNonNullableFields; layout?: PollDataLayoutNonNullableFields; design?: DesignNonNullableFields; } interface AnchorDataNonNullableFields { anchor: string; } interface LinkDataNonNullableFields { link?: LinkNonNullableFields; } interface MentionDataNonNullableFields { name: string; slug: string; } interface FontSizeDataNonNullableFields { unit: FontType; } interface DecorationNonNullableFields { anchorData?: AnchorDataNonNullableFields; linkData?: LinkDataNonNullableFields; mentionData?: MentionDataNonNullableFields; fontSizeData?: FontSizeDataNonNullableFields; type: DecorationType; } interface TextDataNonNullableFields { text: string; decorations: DecorationNonNullableFields[]; } interface AppEmbedDataNonNullableFields { type: AppType; } interface VideoDataNonNullableFields { containerData?: PluginContainerDataNonNullableFields; } interface EmbedDataNonNullableFields { containerData?: PluginContainerDataNonNullableFields; } interface CollapsibleListDataNonNullableFields { containerData?: PluginContainerDataNonNullableFields; initialExpandedItems: InitialExpandedItems; direction: Direction; } interface DimensionsNonNullableFields { colsWidthRatio: number[]; rowsHeight: number[]; colsMinWidth: number[]; } interface TableDataNonNullableFields { containerData?: PluginContainerDataNonNullableFields; dimensions?: DimensionsNonNullableFields; } interface CellStyleNonNullableFields { verticalAlignment: VerticalAlignment; } interface TableCellDataNonNullableFields { cellStyle?: CellStyleNonNullableFields; } interface AudioDataNonNullableFields { containerData?: PluginContainerDataNonNullableFields; } interface OrderedListDataNonNullableFields { indentation: number; } interface BulletedListDataNonNullableFields { indentation: number; } interface BlockquoteDataNonNullableFields { indentation: number; } interface CaptionDataNonNullableFields { textStyle?: TextStyleNonNullableFields; } interface NodeNonNullableFields { buttonData?: ButtonDataNonNullableFields; codeBlockData?: CodeBlockDataNonNullableFields; dividerData?: DividerDataNonNullableFields; fileData?: FileDataNonNullableFields; galleryData?: GalleryDataNonNullableFields; gifData?: GIFDataNonNullableFields; headingData?: HeadingDataNonNullableFields; htmlData?: HTMLDataNonNullableFields; imageData?: ImageDataNonNullableFields; linkPreviewData?: LinkPreviewDataNonNullableFields; mapData?: MapDataNonNullableFields; paragraphData?: ParagraphDataNonNullableFields; pollData?: PollDataNonNullableFields; textData?: TextDataNonNullableFields; appEmbedData?: AppEmbedDataNonNullableFields; videoData?: VideoDataNonNullableFields; embedData?: EmbedDataNonNullableFields; collapsibleListData?: CollapsibleListDataNonNullableFields; tableData?: TableDataNonNullableFields; tableCellData?: TableCellDataNonNullableFields; audioData?: AudioDataNonNullableFields; orderedListData?: OrderedListDataNonNullableFields; bulletedListData?: BulletedListDataNonNullableFields; blockquoteData?: BlockquoteDataNonNullableFields; captionData?: CaptionDataNonNullableFields; type: NodeType; _id: string; nodes: NodeNonNullableFields[]; } interface MetadataNonNullableFields { version: number; } interface TextNodeStyleNonNullableFields { decorations: DecorationNonNullableFields[]; } interface DocumentStyleNonNullableFields { headerOne?: TextNodeStyleNonNullableFields; headerTwo?: TextNodeStyleNonNullableFields; headerThree?: TextNodeStyleNonNullableFields; headerFour?: TextNodeStyleNonNullableFields; headerFive?: TextNodeStyleNonNullableFields; headerSix?: TextNodeStyleNonNullableFields; paragraph?: TextNodeStyleNonNullableFields; blockquote?: TextNodeStyleNonNullableFields; codeBlock?: TextNodeStyleNonNullableFields; } interface RichContentNonNullableFields { nodes: NodeNonNullableFields[]; metadata?: MetadataNonNullableFields; documentStyle?: DocumentStyleNonNullableFields; } interface MemberAboutNonNullableFields { content?: RichContentNonNullableFields; } interface CreateMemberAboutResponseNonNullableFields { memberAbout?: MemberAboutNonNullableFields; } interface UpdateMemberAboutResponseNonNullableFields { memberAbout?: MemberAboutNonNullableFields; } interface GetMemberAboutResponseNonNullableFields { memberAbout?: MemberAboutNonNullableFields; } interface GetMyMemberAboutResponseNonNullableFields { memberAbout?: MemberAboutNonNullableFields; } interface QueryMemberAboutsResponseNonNullableFields { memberAbouts: MemberAboutNonNullableFields[]; } interface BaseEventMetadata { /** App instance ID. */ instanceId?: string | null; /** Event type. */ eventType?: string; /** The identification type and identity data. */ identity?: IdentificationData; } interface EventMetadata extends BaseEventMetadata { /** * Unique event ID. * Allows clients to ignore duplicate webhooks. */ _id?: string; /** * Assumes actions are also always typed to an entity_type * Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction */ entityFqdn?: string; /** * This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug) * This is although the created/updated/deleted notion is duplication of the oneof types * Example: created/updated/deleted/started/completed/email_opened */ slug?: string; /** ID of the entity associated with the event. */ entityId?: string; /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */ eventTime?: Date | null; /** * Whether the event was triggered as a result of a privacy regulation application * (for example, GDPR). */ triggeredByAnonymizeRequest?: boolean | null; /** If present, indicates the action that triggered the event. */ originatedFrom?: string | null; /** * A sequence number defining the order of updates to the underlying entity. * For example, given that some entity was updated at 16:00 and than again at 16:01, * it is guaranteed that the sequence number of the second update is strictly higher than the first. * As the consumer, you can use this value to ensure that you handle messages in the correct order. * To do so, you will need to persist this number on your end, and compare the sequence number from the * message against the one you have stored. Given that the stored number is higher, you should ignore the message. */ entityEventSequence?: string | null; } interface MemberAboutCreatedEnvelope { entity: MemberAbout; metadata: EventMetadata; } interface MemberAboutUpdatedEnvelope { entity: MemberAbout; metadata: EventMetadata; } interface MemberAboutDeletedEnvelope { metadata: EventMetadata; } interface UpdateMemberAboutOptions { memberAbout: { /** * About ID. * @readonly */ _id?: string | null; /** * Revision. * @readonly */ revision?: string | null; /** Member ID. */ memberId?: string | null; /** https://github.com/wix-private/wix-ricos/blob/master/wix-ricos-schema/src/main/proto/wix/rich_content/v1/rich_content.proto */ content?: RichContent; }; } interface QueryCursorResult { cursors: Cursors; hasNext: () => boolean; hasPrev: () => boolean; length: number; pageSize: number; } interface MemberAboutsQueryResult extends QueryCursorResult { items: MemberAbout[]; query: MemberAboutsQueryBuilder; next: () => Promise; prev: () => Promise; } interface MemberAboutsQueryBuilder { /** @param propertyName - Property whose value is compared with `value`. * @param value - Value to compare against. * @documentationMaturity preview */ eq: (propertyName: '_id' | 'memberId', value: any) => MemberAboutsQueryBuilder; /** @param propertyName - Property whose value is compared with `value`. * @param value - Value to compare against. * @documentationMaturity preview */ ne: (propertyName: '_id' | 'memberId', value: any) => MemberAboutsQueryBuilder; /** @param propertyName - Property whose value is compared with `string`. * @param string - String to compare against. Case-insensitive. * @documentationMaturity preview */ startsWith: (propertyName: '_id' | 'memberId', value: string) => MemberAboutsQueryBuilder; /** @param propertyName - Property whose value is compared with `values`. * @param values - List of values to compare against. * @documentationMaturity preview */ hasSome: (propertyName: '_id' | 'memberId', value: any[]) => MemberAboutsQueryBuilder; /** @documentationMaturity preview */ in: (propertyName: '_id' | 'memberId', value: any) => MemberAboutsQueryBuilder; /** @documentationMaturity preview */ exists: (propertyName: '_id' | 'memberId', value: boolean) => MemberAboutsQueryBuilder; /** @param limit - Number of items to return, which is also the `pageSize` of the results object. * @documentationMaturity preview */ limit: (limit: number) => MemberAboutsQueryBuilder; /** @param cursor - A pointer to specific record * @documentationMaturity preview */ skipTo: (cursor: string) => MemberAboutsQueryBuilder; /** @documentationMaturity preview */ find: () => Promise; } declare function createMemberAbout$1(httpClient: HttpClient): CreateMemberAboutSignature; interface CreateMemberAboutSignature { /** * Creates member about. */ (memberAbout: MemberAbout): Promise; } declare function updateMemberAbout$1(httpClient: HttpClient): UpdateMemberAboutSignature; interface UpdateMemberAboutSignature { /** * Updates an about content by ID. * @param - About ID. */ (_id: string | null, options?: UpdateMemberAboutOptions | undefined): Promise; } declare function deleteMemberAbout$1(httpClient: HttpClient): DeleteMemberAboutSignature; interface DeleteMemberAboutSignature { /** * Deletes an about. */ (_id: string): Promise; } declare function getMemberAbout$1(httpClient: HttpClient): GetMemberAboutSignature; interface GetMemberAboutSignature { /** * Retrieves an about by ID. */ (_id: string): Promise; } declare function getMyMemberAbout$1(httpClient: HttpClient): GetMyMemberAboutSignature; interface GetMyMemberAboutSignature { /** * Retrieves current logged-in about */ (): Promise; } declare function queryMemberAbouts$1(httpClient: HttpClient): QueryMemberAboutsSignature; interface QueryMemberAboutsSignature { /** * Retries a list of up to 100 abouts, given the provided filters, sorting and paging. * * Currently supported fields for filtering: * * - `id` * - `member_id` */ (): MemberAboutsQueryBuilder; } declare const onMemberAboutCreated$1: EventDefinition; declare const onMemberAboutUpdated$1: EventDefinition; declare const onMemberAboutDeleted$1: EventDefinition; declare function createEventModule>(eventDefinition: T): BuildEventDefinition & T; declare const createMemberAbout: MaybeContext & typeof createMemberAbout$1>; declare const updateMemberAbout: MaybeContext & typeof updateMemberAbout$1>; declare const deleteMemberAbout: MaybeContext & typeof deleteMemberAbout$1>; declare const getMemberAbout: MaybeContext & typeof getMemberAbout$1>; declare const getMyMemberAbout: MaybeContext & typeof getMyMemberAbout$1>; declare const queryMemberAbouts: MaybeContext & typeof queryMemberAbouts$1>; type _publicOnMemberAboutCreatedType = typeof onMemberAboutCreated$1; /** */ declare const onMemberAboutCreated: ReturnType>; type _publicOnMemberAboutUpdatedType = typeof onMemberAboutUpdated$1; /** */ declare const onMemberAboutUpdated: ReturnType>; type _publicOnMemberAboutDeletedType = typeof onMemberAboutDeleted$1; /** */ declare const onMemberAboutDeleted: ReturnType>; type context_ActionEvent = ActionEvent; type context_Alignment = Alignment; declare const context_Alignment: typeof Alignment; type context_AnchorData = AnchorData; type context_AppEmbedData = AppEmbedData; type context_AppEmbedDataAppDataOneOf = AppEmbedDataAppDataOneOf; type context_AppType = AppType; declare const context_AppType: typeof AppType; type context_AudioData = AudioData; type context_Background = Background; type context_BackgroundBackgroundOneOf = BackgroundBackgroundOneOf; type context_BackgroundType = BackgroundType; declare const context_BackgroundType: typeof BackgroundType; type context_BaseEventMetadata = BaseEventMetadata; type context_BlockquoteData = BlockquoteData; type context_BookingData = BookingData; type context_Border = Border; type context_BorderColors = BorderColors; type context_BulletedListData = BulletedListData; type context_ButtonData = ButtonData; type context_CaptionData = CaptionData; type context_CellStyle = CellStyle; type context_CodeBlockData = CodeBlockData; type context_CollapsibleListData = CollapsibleListData; type context_ColorData = ColorData; type context_Colors = Colors; type context_CreateMemberAboutRequest = CreateMemberAboutRequest; type context_CreateMemberAboutResponse = CreateMemberAboutResponse; type context_CreateMemberAboutResponseNonNullableFields = CreateMemberAboutResponseNonNullableFields; type context_Crop = Crop; declare const context_Crop: typeof Crop; type context_CursorPaging = CursorPaging; type context_CursorPagingMetadata = CursorPagingMetadata; type context_CursorQuery = CursorQuery; type context_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf; type context_Cursors = Cursors; type context_Decoration = Decoration; type context_DecorationDataOneOf = DecorationDataOneOf; type context_DecorationType = DecorationType; declare const context_DecorationType: typeof DecorationType; type context_DeleteMemberAboutRequest = DeleteMemberAboutRequest; type context_DeleteMemberAboutResponse = DeleteMemberAboutResponse; type context_Design = Design; type context_Dimensions = Dimensions; type context_Direction = Direction; declare const context_Direction: typeof Direction; type context_DividerData = DividerData; type context_DocumentStyle = DocumentStyle; type context_DomainEvent = DomainEvent; type context_DomainEventBodyOneOf = DomainEventBodyOneOf; type context_EmbedData = EmbedData; type context_Empty = Empty; type context_EntityCreatedEvent = EntityCreatedEvent; type context_EntityDeletedEvent = EntityDeletedEvent; type context_EntityUpdatedEvent = EntityUpdatedEvent; type context_EventData = EventData; type context_EventMetadata = EventMetadata; type context_FileData = FileData; type context_FileSource = FileSource; type context_FileSourceDataOneOf = FileSourceDataOneOf; type context_FontSizeData = FontSizeData; type context_FontType = FontType; declare const context_FontType: typeof FontType; type context_GIF = GIF; type context_GIFData = GIFData; type context_GalleryData = GalleryData; type context_GalleryOptions = GalleryOptions; type context_GetMemberAboutRequest = GetMemberAboutRequest; type context_GetMemberAboutResponse = GetMemberAboutResponse; type context_GetMemberAboutResponseNonNullableFields = GetMemberAboutResponseNonNullableFields; type context_GetMyMemberAboutRequest = GetMyMemberAboutRequest; type context_GetMyMemberAboutResponse = GetMyMemberAboutResponse; type context_GetMyMemberAboutResponseNonNullableFields = GetMyMemberAboutResponseNonNullableFields; type context_Gradient = Gradient; type context_HTMLData = HTMLData; type context_HTMLDataDataOneOf = HTMLDataDataOneOf; type context_HeadingData = HeadingData; type context_Height = Height; type context_IdentificationData = IdentificationData; type context_IdentificationDataIdOneOf = IdentificationDataIdOneOf; type context_Image = Image; type context_ImageData = ImageData; type context_InitialExpandedItems = InitialExpandedItems; declare const context_InitialExpandedItems: typeof InitialExpandedItems; type context_Item = Item; type context_ItemDataOneOf = ItemDataOneOf; type context_ItemStyle = ItemStyle; type context_Layout = Layout; type context_LayoutType = LayoutType; declare const context_LayoutType: typeof LayoutType; type context_LineStyle = LineStyle; declare const context_LineStyle: typeof LineStyle; type context_Link = Link; type context_LinkData = LinkData; type context_LinkDataOneOf = LinkDataOneOf; type context_LinkPreviewData = LinkPreviewData; type context_ListValue = ListValue; type context_MapData = MapData; type context_MapSettings = MapSettings; type context_MapType = MapType; declare const context_MapType: typeof MapType; type context_Media = Media; type context_MemberAbout = MemberAbout; type context_MemberAboutCreatedEnvelope = MemberAboutCreatedEnvelope; type context_MemberAboutDeletedEnvelope = MemberAboutDeletedEnvelope; type context_MemberAboutNonNullableFields = MemberAboutNonNullableFields; type context_MemberAboutUpdatedEnvelope = MemberAboutUpdatedEnvelope; type context_MemberAboutsQueryBuilder = MemberAboutsQueryBuilder; type context_MemberAboutsQueryResult = MemberAboutsQueryResult; type context_MentionData = MentionData; type context_MessageEnvelope = MessageEnvelope; type context_Metadata = Metadata; type context_Node = Node; type context_NodeDataOneOf = NodeDataOneOf; type context_NodeStyle = NodeStyle; type context_NodeType = NodeType; declare const context_NodeType: typeof NodeType; type context_NullValue = NullValue; declare const context_NullValue: typeof NullValue; type context_Oembed = Oembed; type context_Option = Option; type context_OptionDesign = OptionDesign; type context_OptionLayout = OptionLayout; type context_OrderedListData = OrderedListData; type context_Orientation = Orientation; declare const context_Orientation: typeof Orientation; type context_PDFSettings = PDFSettings; type context_ParagraphData = ParagraphData; type context_Permissions = Permissions; type context_PlaybackOptions = PlaybackOptions; type context_PluginContainerData = PluginContainerData; type context_PluginContainerDataAlignment = PluginContainerDataAlignment; declare const context_PluginContainerDataAlignment: typeof PluginContainerDataAlignment; type context_PluginContainerDataWidth = PluginContainerDataWidth; type context_PluginContainerDataWidthDataOneOf = PluginContainerDataWidthDataOneOf; type context_Poll = Poll; type context_PollData = PollData; type context_PollDataLayout = PollDataLayout; type context_PollDesign = PollDesign; type context_PollLayout = PollLayout; type context_PollLayoutDirection = PollLayoutDirection; declare const context_PollLayoutDirection: typeof PollLayoutDirection; type context_PollLayoutType = PollLayoutType; declare const context_PollLayoutType: typeof PollLayoutType; type context_QueryMemberAboutsRequest = QueryMemberAboutsRequest; type context_QueryMemberAboutsResponse = QueryMemberAboutsResponse; type context_QueryMemberAboutsResponseNonNullableFields = QueryMemberAboutsResponseNonNullableFields; type context_Rel = Rel; type context_RestoreInfo = RestoreInfo; type context_RichContent = RichContent; type context_Settings = Settings; type context_SortOrder = SortOrder; declare const context_SortOrder: typeof SortOrder; type context_Sorting = Sorting; type context_Source = Source; declare const context_Source: typeof Source; type context_Spoiler = Spoiler; type context_SpoilerData = SpoilerData; type context_Styles = Styles; type context_TableCellData = TableCellData; type context_TableData = TableData; type context_Target = Target; declare const context_Target: typeof Target; type context_TextAlignment = TextAlignment; declare const context_TextAlignment: typeof TextAlignment; type context_TextData = TextData; type context_TextNodeStyle = TextNodeStyle; type context_TextStyle = TextStyle; type context_Thumbnails = Thumbnails; type context_ThumbnailsAlignment = ThumbnailsAlignment; declare const context_ThumbnailsAlignment: typeof ThumbnailsAlignment; type context_Type = Type; declare const context_Type: typeof Type; type context_UpdateMemberAboutOptions = UpdateMemberAboutOptions; type context_UpdateMemberAboutRequest = UpdateMemberAboutRequest; type context_UpdateMemberAboutResponse = UpdateMemberAboutResponse; type context_UpdateMemberAboutResponseNonNullableFields = UpdateMemberAboutResponseNonNullableFields; type context_VerticalAlignment = VerticalAlignment; declare const context_VerticalAlignment: typeof VerticalAlignment; type context_Video = Video; type context_VideoData = VideoData; type context_ViewMode = ViewMode; declare const context_ViewMode: typeof ViewMode; type context_ViewRole = ViewRole; declare const context_ViewRole: typeof ViewRole; type context_VoteRole = VoteRole; declare const context_VoteRole: typeof VoteRole; type context_WebhookIdentityType = WebhookIdentityType; declare const context_WebhookIdentityType: typeof WebhookIdentityType; type context_Width = Width; declare const context_Width: typeof Width; type context_WidthType = WidthType; declare const context_WidthType: typeof WidthType; type context__publicOnMemberAboutCreatedType = _publicOnMemberAboutCreatedType; type context__publicOnMemberAboutDeletedType = _publicOnMemberAboutDeletedType; type context__publicOnMemberAboutUpdatedType = _publicOnMemberAboutUpdatedType; declare const context_createMemberAbout: typeof createMemberAbout; declare const context_deleteMemberAbout: typeof deleteMemberAbout; declare const context_getMemberAbout: typeof getMemberAbout; declare const context_getMyMemberAbout: typeof getMyMemberAbout; declare const context_onMemberAboutCreated: typeof onMemberAboutCreated; declare const context_onMemberAboutDeleted: typeof onMemberAboutDeleted; declare const context_onMemberAboutUpdated: typeof onMemberAboutUpdated; declare const context_queryMemberAbouts: typeof queryMemberAbouts; declare const context_updateMemberAbout: typeof updateMemberAbout; declare namespace context { export { type context_ActionEvent as ActionEvent, context_Alignment as Alignment, type context_AnchorData as AnchorData, type context_AppEmbedData as AppEmbedData, type context_AppEmbedDataAppDataOneOf as AppEmbedDataAppDataOneOf, context_AppType as AppType, type context_AudioData as AudioData, type context_Background as Background, type context_BackgroundBackgroundOneOf as BackgroundBackgroundOneOf, context_BackgroundType as BackgroundType, type context_BaseEventMetadata as BaseEventMetadata, type context_BlockquoteData as BlockquoteData, type context_BookingData as BookingData, type context_Border as Border, type context_BorderColors as BorderColors, type context_BulletedListData as BulletedListData, type context_ButtonData as ButtonData, type context_CaptionData as CaptionData, type context_CellStyle as CellStyle, type context_CodeBlockData as CodeBlockData, type context_CollapsibleListData as CollapsibleListData, type context_ColorData as ColorData, type context_Colors as Colors, type context_CreateMemberAboutRequest as CreateMemberAboutRequest, type context_CreateMemberAboutResponse as CreateMemberAboutResponse, type context_CreateMemberAboutResponseNonNullableFields as CreateMemberAboutResponseNonNullableFields, context_Crop as Crop, type context_CursorPaging as CursorPaging, type context_CursorPagingMetadata as CursorPagingMetadata, type context_CursorQuery as CursorQuery, type context_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf, type context_Cursors as Cursors, type context_Decoration as Decoration, type context_DecorationDataOneOf as DecorationDataOneOf, context_DecorationType as DecorationType, type context_DeleteMemberAboutRequest as DeleteMemberAboutRequest, type context_DeleteMemberAboutResponse as DeleteMemberAboutResponse, type context_Design as Design, type context_Dimensions as Dimensions, context_Direction as Direction, type context_DividerData as DividerData, type context_DocumentStyle as DocumentStyle, type context_DomainEvent as DomainEvent, type context_DomainEventBodyOneOf as DomainEventBodyOneOf, type context_EmbedData as EmbedData, type context_Empty as Empty, type context_EntityCreatedEvent as EntityCreatedEvent, type context_EntityDeletedEvent as EntityDeletedEvent, type context_EntityUpdatedEvent as EntityUpdatedEvent, type context_EventData as EventData, type context_EventMetadata as EventMetadata, type context_FileData as FileData, type context_FileSource as FileSource, type context_FileSourceDataOneOf as FileSourceDataOneOf, type context_FontSizeData as FontSizeData, context_FontType as FontType, type context_GIF as GIF, type context_GIFData as GIFData, type context_GalleryData as GalleryData, type context_GalleryOptions as GalleryOptions, type context_GetMemberAboutRequest as GetMemberAboutRequest, type context_GetMemberAboutResponse as GetMemberAboutResponse, type context_GetMemberAboutResponseNonNullableFields as GetMemberAboutResponseNonNullableFields, type context_GetMyMemberAboutRequest as GetMyMemberAboutRequest, type context_GetMyMemberAboutResponse as GetMyMemberAboutResponse, type context_GetMyMemberAboutResponseNonNullableFields as GetMyMemberAboutResponseNonNullableFields, type context_Gradient as Gradient, type context_HTMLData as HTMLData, type context_HTMLDataDataOneOf as HTMLDataDataOneOf, type context_HeadingData as HeadingData, type context_Height as Height, type context_IdentificationData as IdentificationData, type context_IdentificationDataIdOneOf as IdentificationDataIdOneOf, type context_Image as Image, type context_ImageData as ImageData, context_InitialExpandedItems as InitialExpandedItems, type context_Item as Item, type context_ItemDataOneOf as ItemDataOneOf, type context_ItemStyle as ItemStyle, type context_Layout as Layout, context_LayoutType as LayoutType, context_LineStyle as LineStyle, type context_Link as Link, type context_LinkData as LinkData, type context_LinkDataOneOf as LinkDataOneOf, type context_LinkPreviewData as LinkPreviewData, type context_ListValue as ListValue, type context_MapData as MapData, type context_MapSettings as MapSettings, context_MapType as MapType, type context_Media as Media, type context_MemberAbout as MemberAbout, type context_MemberAboutCreatedEnvelope as MemberAboutCreatedEnvelope, type context_MemberAboutDeletedEnvelope as MemberAboutDeletedEnvelope, type context_MemberAboutNonNullableFields as MemberAboutNonNullableFields, type context_MemberAboutUpdatedEnvelope as MemberAboutUpdatedEnvelope, type context_MemberAboutsQueryBuilder as MemberAboutsQueryBuilder, type context_MemberAboutsQueryResult as MemberAboutsQueryResult, type context_MentionData as MentionData, type context_MessageEnvelope as MessageEnvelope, type context_Metadata as Metadata, type context_Node as Node, type context_NodeDataOneOf as NodeDataOneOf, type context_NodeStyle as NodeStyle, context_NodeType as NodeType, context_NullValue as NullValue, type context_Oembed as Oembed, type context_Option as Option, type context_OptionDesign as OptionDesign, type context_OptionLayout as OptionLayout, type context_OrderedListData as OrderedListData, context_Orientation as Orientation, type context_PDFSettings as PDFSettings, type context_ParagraphData as ParagraphData, type context_Permissions as Permissions, type context_PlaybackOptions as PlaybackOptions, type context_PluginContainerData as PluginContainerData, context_PluginContainerDataAlignment as PluginContainerDataAlignment, type context_PluginContainerDataWidth as PluginContainerDataWidth, type context_PluginContainerDataWidthDataOneOf as PluginContainerDataWidthDataOneOf, type context_Poll as Poll, type context_PollData as PollData, type context_PollDataLayout as PollDataLayout, type context_PollDesign as PollDesign, type context_PollLayout as PollLayout, context_PollLayoutDirection as PollLayoutDirection, context_PollLayoutType as PollLayoutType, type context_QueryMemberAboutsRequest as QueryMemberAboutsRequest, type context_QueryMemberAboutsResponse as QueryMemberAboutsResponse, type context_QueryMemberAboutsResponseNonNullableFields as QueryMemberAboutsResponseNonNullableFields, type context_Rel as Rel, type context_RestoreInfo as RestoreInfo, type context_RichContent as RichContent, type context_Settings as Settings, context_SortOrder as SortOrder, type context_Sorting as Sorting, context_Source as Source, type context_Spoiler as Spoiler, type context_SpoilerData as SpoilerData, type context_Styles as Styles, type context_TableCellData as TableCellData, type context_TableData as TableData, context_Target as Target, context_TextAlignment as TextAlignment, type context_TextData as TextData, type context_TextNodeStyle as TextNodeStyle, type context_TextStyle as TextStyle, type context_Thumbnails as Thumbnails, context_ThumbnailsAlignment as ThumbnailsAlignment, context_Type as Type, type context_UpdateMemberAboutOptions as UpdateMemberAboutOptions, type context_UpdateMemberAboutRequest as UpdateMemberAboutRequest, type context_UpdateMemberAboutResponse as UpdateMemberAboutResponse, type context_UpdateMemberAboutResponseNonNullableFields as UpdateMemberAboutResponseNonNullableFields, context_VerticalAlignment as VerticalAlignment, type context_Video as Video, type context_VideoData as VideoData, context_ViewMode as ViewMode, context_ViewRole as ViewRole, context_VoteRole as VoteRole, context_WebhookIdentityType as WebhookIdentityType, context_Width as Width, context_WidthType as WidthType, type context__publicOnMemberAboutCreatedType as _publicOnMemberAboutCreatedType, type context__publicOnMemberAboutDeletedType as _publicOnMemberAboutDeletedType, type context__publicOnMemberAboutUpdatedType as _publicOnMemberAboutUpdatedType, context_createMemberAbout as createMemberAbout, context_deleteMemberAbout as deleteMemberAbout, context_getMemberAbout as getMemberAbout, context_getMyMemberAbout as getMyMemberAbout, context_onMemberAboutCreated as onMemberAboutCreated, context_onMemberAboutDeleted as onMemberAboutDeleted, context_onMemberAboutUpdated as onMemberAboutUpdated, onMemberAboutCreated$1 as publicOnMemberAboutCreated, onMemberAboutDeleted$1 as publicOnMemberAboutDeleted, onMemberAboutUpdated$1 as publicOnMemberAboutUpdated, context_queryMemberAbouts as queryMemberAbouts, context_updateMemberAbout as updateMemberAbout }; } export { context as membersAbout };