// ets_tracing: off /* eslint-disable @typescript-eslint/no-namespace */ import type { Tuple } from "@effect-ts/core/Collections/Immutable/Tuple" import type * as E from "@effect-ts/core/Either" import type { Predicate, Refinement } from "@effect-ts/core/Function" import type * as O from "@effect-ts/core/Option" import type { Separated } from "@effect-ts/core/Utils" declare module "@effect-ts/system/Option/core" { export interface OptionOps { /** * @ets_rewrite_method pipe from "smart:pipe" */ pipe(this: Self, f: (self: Self) => Ret): Ret /** * @ets_rewrite_method ap_ from "@effect-ts/core/Option" */ ap(this: O.Option<(a: AX) => B>, fa: O.Option): O.Option /** * @ets_rewrite_method chain_ from "@effect-ts/core/Option" */ chain(this: O.Option, f: (a: AX) => O.Option): O.Option /** * @ets_rewrite_method duplicate from "@effect-ts/core/Option" */ duplicate(this: O.Option): O.Option> /** * @ets_rewrite_method exists_ from "@effect-ts/core/Option" */ exists(this: O.Option, predicate: Predicate): boolean /** * @ets_rewrite_method extend_ from "@effect-ts/core/Option" */ extend(this: O.Option, f: (a: O.Option) => B): O.Option /** * @ets_rewrite_method flatten from "@effect-ts/core/Option" */ flatten(this: O.Option>): O.Option /** * @ets_rewrite_method filter_ from "@effect-ts/core/Option" */ filter( this: O.Option, refinement: Refinement ): O.Option /** * @ets_rewrite_method filter_ from "@effect-ts/core/Option" */ filter(this: O.Option, refinement: Predicate): O.Option /** * @ets_rewrite_method filterMap_ from "@effect-ts/core/Option" */ filter( this: O.Option, refinement: (a: AX) => O.Option ): O.Option /** * @ets_rewrite_method fold_ from "@effect-ts/core/Option" */ fold(this: O.Option, onNone: () => B, onSome: (a: AX) => C): B | C /** * @ets_rewrite_method getOrElse_ from "@effect-ts/core/Option" */ getOrElse(this: O.Option, f: () => B): AX | B /** * @ets_rewrite_method isSome from "@effect-ts/core/Option" */ isSome(this: O.Option): this is O.Some /** * @ets_rewrite_method isNone from "@effect-ts/core/Option" */ isNone(this: O.Option): this is O.None /** * @ets_rewrite_method map_ from "@effect-ts/core/Option" */ map(this: O.Option, f: (a: AX) => B): O.Option /** * @ets_rewrite_method partitionMap_ from "@effect-ts/core/Option" */ partition( this: O.Option, f: (a: AX) => E.Either ): Separated, O.Option> /** * @ets_rewrite_method partition_ from "@effect-ts/core/Option" */ partition( this: O.Option, ref: Refinement ): Separated>, O.Option> /** * @ets_rewrite_method partition_ from "@effect-ts/core/Option" */ partition( this: O.Option, ref: Predicate ): Separated, O.Option> /** * @ets_rewrite_method separate from "@effect-ts/core/Option" */ separate( this: O.Option> ): Separated, O.Option> /** * @ets_rewrite_method tap_ from "@effect-ts/core/Option" */ tap(this: O.Option, f: (a: AX) => O.Option): O.Option /** * @ets_rewrite_method toUndefined from "@effect-ts/core/Option" */ toUndefined(this: O.Option): A | undefined /** * @ets_rewrite_method zip_ from "@effect-ts/core/Option" */ zip(this: O.Option, fa: O.Option): O.Option> /** * @ets_rewrite_method zipFirst_ from "@effect-ts/core/Option" */ zipLeft(this: O.Option, fa: O.Option): O.Option /** * @ets_rewrite_method zipSecond_ from "@effect-ts/core/Option" */ zipRight(this: O.Option, fa: O.Option): O.Option /** * @ets_rewrite_getter toUndefined from "@effect-ts/core/Option" */ get value(): A | undefined } export interface Some extends OptionOps {} export interface None extends OptionOps {} export interface OptionStaticOps { /** * @ets_rewrite_static some from "@effect-ts/core/Option" */ some: typeof O.some /** * @ets_rewrite_static none from "@effect-ts/core/Option" */ none: typeof O.none /** * @ets_rewrite_static Applicative from "@effect-ts/core/Option" */ Applicative: typeof O.Applicative } export const Option: OptionStaticOps }