import type neverThrow from "neverthrow";
export declare type PromiseValueType
= P extends Promise ? T : never;
export declare type OkValueType = R extends neverThrow.Result ? T1 : R extends neverThrow.ResultAsync ? T2 : never;
export declare type ErrValueType = R extends neverThrow.Result ? E1 : R extends neverThrow.ResultAsync ? E2 : never;
export declare type WithNewOkValueType = R extends neverThrow.Result ? neverThrow.Result : R extends neverThrow.ResultAsync ? neverThrow.ResultAsync : never;
export declare type WithNewErrValueType = R extends neverThrow.Result ? neverThrow.Result : R extends neverThrow.ResultAsync ? neverThrow.ResultAsync : never;
export declare type ResultAsyncFromResult = R extends neverThrow.Result ? neverThrow.ResultAsync : never;
export declare type ResultFromResultAsync = R extends neverThrow.ResultAsync ? neverThrow.Result : never;
export declare const assertTypeExtends: () => (_value: U) => undefined;
declare const _default: {
assertTypeExtends: () => (_value: U) => undefined;
};
export default _default;