import { Order } from "@fp-ts/core/typeclass/Order";
import { NonEmptyArguments } from "@effect-ts-app/core/Prelude";
import { Chunk } from "@fp-ts/data/Chunk";
import { NonEmptyReadonlyArray, NonEmptyArray } from "@fp-ts/data/ReadonlyArray";
import * as EQUAL from "@effect-ts/core/Equal";
import type { Equal } from "@effect-ts/core/Equal";
import * as ORD from "@effect-ts/core/Ord";
import type { Ord } from "@effect-ts/core/Ord";
import * as CNK from "@fp-ts/data/Chunk";
/**
* @tsplus getter ets/Ord toOrder
* @tsplus location "@effect-ts-app/core/_ext/ord.ext"
*/
export declare function convertOrd(_: Ord): Order;
/**
* @tsplus pipeable fp-ts/data/Chunk sortWith
* @tsplus location "@effect-ts-app/core/_ext/ord.ext"
*/
export declare function sortWith(...ords: NonEmptyArguments>): (a: Chunk) => Chunk;
/**
* @tsplus getter Generator toArray
* @tsplus location "@effect-ts-app/core/_ext/ord.ext"
*/
export declare function toArray(gen: Generator): A[];
/**
* Remove duplicates from an array, keeping the first occurrence of an element.
* @tsplus static ReadonlyArray.Ops uniq
* @tsplus pipeable ReadonlyArray uniq
* @tsplus location "@effect-ts-app/core/_ext/ord.ext"
*/
export declare function uniqArray(E: Equal): (self: ReadonlyArray) => ReadonlyArray;
/**
* Remove duplicates from an array, keeping the first occurrence of an element.
* @tsplus static fp-ts/data/Chunk.Ops uniq
* @tsplus pipeable fp-ts/data/Chunk uniq
* @tsplus location "@effect-ts-app/core/_ext/ord.ext"
*/
export declare function uniq(E: Equal): (self: Chunk) => Chunk;
/**
* Test if a value is a member of an array. Takes a `Equivalence` as a single
* argument which returns the function to use to search for a value of type `A`
* in an array of type `Chunk`.
* @tsplus static fp-ts/data/Chunk.Ops elem2
* @tsplus pipeable fp-ts/data/Chunk elem2
* @tsplus location "@effect-ts-app/core/_ext/ord.ext"
*/
export declare function elem(E: Equal, value: A): (self: Chunk) => boolean;
/**
* @tsplus pipeable ReadonlyArray sortWithNonEmpty
* @tsplus location "@effect-ts-app/core/_ext/ord.ext"
*/
export declare function sortWithNonEmpty(...ords: NonEmptyArguments>): (a: NonEmptyReadonlyArray) => NonEmptyArray;
/**
* @tsplus pipeable fp-ts/data/Chunk partition
* @tsplus location "@effect-ts-app/core/_ext/ord.ext"
*/
export declare const ChunkPartition: {
(refinement: import("@fp-ts/data/Predicate").Refinement): (fc: CNK.Chunk) => readonly [CNK.Chunk, CNK.Chunk];
(predicate: import("@fp-ts/data/Predicate").Predicate): (fb: CNK.Chunk) => readonly [CNK.Chunk, CNK.Chunk];
};
/**
* @tsplus fluent ets/Equal contramap
* @tsplus location "@effect-ts-app/core/_ext/ord.ext"
*/
export declare function EqlContramap(fa: Equal, f: (a: B) => A): EQUAL.Equal;
/**
* @tsplus fluent ets/Ord contramap
* @tsplus location "@effect-ts-app/core/_ext/ord.ext"
*/
export declare const OrdContramap: typeof ORD.contramap_;
/**
* @tsplus getter ets/Ord inverted
* @tsplus location "@effect-ts-app/core/_ext/ord.ext"
*/
export declare const OrdInverted: typeof ORD.inverted;
//# sourceMappingURL=ord.ext.d.ts.map