import type { AsyncOk, OkResult, Result } from './types'; type OkType = OkResult; declare class Ok implements OkResult { readonly value: T; constructor(value: T); get isOk(): true; get isErr(): false; get isError(): false; get error(): never; map(fn: (value: T) => S): Ok; mapErr(): this; chain(next: (value: T) => Result): Result; chainErr(): this; unwrap(): T; unwrapOr(): T; unwrapOrElse(): T; unwrapErr(): never; unwrapErrOr(fallback: F): F; unwrapErrOrElse(fallback: (value: T) => F): F; unpack(): T; match(okMatcher: (value: T) => TR): TR; tap(fn: (value: T) => void): this; tapErr(): this; unwrapOrThrow(): T; [Symbol.iterator](): Generator; biMap(okFn: (value: T) => S): Ok; biChain(okFn: (data: T) => Result): Result; asTuple(): [ok: true, error: undefined, value: T]; get [Symbol.toStringTag](): string; } export declare const OkImpl: typeof Ok; export declare const ok: (value: T) => OkType; export declare const asyncOk: (value: T | Promise) => AsyncOk; export {};