import { IDisposable, IEqualityComparer, IComparer } from "./Util.js";
import { Nullable, Option } from "./Option.js";
import { FSharpChoice$2_$union } from "./Choice.js";
import { StringBuilder } from "./System.Text.js";
export declare const LanguagePrimitives_GenericEqualityComparer: any;
export declare const LanguagePrimitives_GenericEqualityERComparer: any;
export declare function LanguagePrimitives_FastGenericComparer<T>(): IComparer<T>;
export declare function LanguagePrimitives_FastGenericComparerFromTable<T>(): IComparer<T>;
export declare function LanguagePrimitives_FastGenericEqualityComparer<T>(): IEqualityComparer<T>;
export declare function LanguagePrimitives_FastGenericEqualityComparerFromTable<T>(): IEqualityComparer<T>;
export declare function Operators_Failure(message: string): Error;
export declare function Operators_FailurePattern(exn: Error): Option<string>;
export declare function Operators_NullArg<$a>(x: string): $a;
export declare function Operators_Using<T extends IDisposable, R>(resource: T, action: ((arg0: T) => R)): R;
export declare function Operators_Lock<$a, $b>(_lockObj: $a, action: (() => $b)): $b;
export declare function Operators_IsNull<T>(value: T): boolean;
export declare function Operators_IsNotNull<T>(value: T): boolean;
export declare function Operators_IsNullV<T extends any>(value: Nullable<T>): boolean;
export declare function Operators_NonNull<T>(value: T): T;
export declare function Operators_NonNullV<T extends any>(value: Nullable<T>): T;
export declare function Operators_NullMatchPattern<T>(value: T): FSharpChoice$2_$union<void, T>;
export declare function Operators_NullValueMatchPattern<T extends any>(value: Nullable<T>): FSharpChoice$2_$union<void, T>;
export declare function Operators_NonNullQuickPattern<T>(value: T): T;
export declare function Operators_NonNullQuickValuePattern<T extends any>(value: Nullable<T>): T;
export declare function Operators_WithNull<T>(value: T): T;
export declare function Operators_WithNullV<T extends any>(value: T): T;
export declare function Operators_NullV<T extends any>(): Nullable<T>;
export declare function Operators_NullArgCheck<T>(argumentName: string, value: T): T;
export declare function ExtraTopLevelOperators_LazyPattern<$a>(input: any): $a;
export declare function PrintfModule_PrintFormatToStringBuilderThen<$a, $b>(continuation: (() => $a), builder: StringBuilder, format: any): $b;
export declare function PrintfModule_PrintFormatToStringBuilder<$a>(builder: StringBuilder, format: any): $a;
