import { Kind } from '../../kinds/index.js'; export declare namespace Option { interface None { readonly _tag: 'None'; readonly value?: A; } interface Some { readonly _tag: 'Some'; readonly value: A; } } export type Option = Option.None | Option.Some; export type OptionParamOf = O extends Option ? A : never; export type OptionOf = O extends Option.Some ? Option : O extends Option.None ? Option : O extends Option ? Option : never; export interface TOption extends Kind.unary { return: Option; }