/** * Copyright 2024-2025, Optimizely * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { Platform } from '../platform_support'; export type Fn = () => unknown; export type AsyncFn = () => Promise; export type AsyncTransformer = (arg: A) => Promise; export type Transformer = (arg: A) => B; export type Consumer = (arg: T) => void; export type AsyncComsumer = (arg: T) => Promise; export type Producer = () => T; export type AsyncProducer = () => Promise; export type Maybe = T | undefined; export type Either = { type: 'left'; value: A; } | { type: 'right'; value: B; }; export type OpType = 'sync' | 'async'; export type OpValue = O extends 'sync' ? V : Promise; export type OrNull = T | null; export type Nullable = { [P in keyof T]: P extends K ? OrNull : T[P]; }; export declare const __platforms: Platform[];