import type { Predicate, Refinement } from "@fp-ts/core/Predicate";
import type { Order } from "@fp-ts/core/typeclass/Order";
import * as Equal from "@fp-ts/data/Equal";
declare const TypeId: unique symbol;
/**
* @since 1.0.0
* @category symbol
*/
export type TypeId = typeof TypeId;
/**
* @since 1.0.0
* @category models
*/
export interface SortedSet extends Iterable, Equal.Equal {
readonly _id: TypeId;
}
/**
* @since 1.0.0
* @category refinements
*/
export declare const isSortedSet: {
(u: Iterable): u is SortedSet;
(u: unknown): u is SortedSet;
};
/**
* @since 1.0.0
* @category constructors
*/
export declare const empty: (O: Order) => SortedSet;
/**
* @since 1.0.0
* @category constructors
*/
export declare const fromIterable: (ord: Order) => (iterable: Iterable) => SortedSet;
/**
* @since 1.0.0
* @category constructors
*/
export declare const make: (ord: Order) => (...entries: Entries) => SortedSet;
/**
* @since 1.0.0
* @category elements
*/
export declare const add: {
(self: SortedSet, value: A): SortedSet;
(value: A): (self: SortedSet) => SortedSet;
};
/**
* @since 1.0.0
* @category mutations
*/
export declare const difference: {
(self: SortedSet, that: Iterable): SortedSet;
(that: Iterable): (self: SortedSet) => SortedSet;
};
/**
* @since 1.0.0
* @category elements
*/
export declare const every: {
(self: SortedSet, predicate: Predicate): boolean;
(predicate: Predicate): (self: SortedSet) => boolean;
};
/**
* @since 1.0.0
* @category filtering
*/
export declare const filter: {
(self: SortedSet, refinement: Refinement): SortedSet;
(self: SortedSet, predicate: Predicate): SortedSet;
(refinement: Refinement): (self: SortedSet) => SortedSet;
(predicate: Predicate): (self: SortedSet) => SortedSet;
};
/**
* @since 1.0.0
* @category sequencing
*/
export declare const flatMap: {
(self: SortedSet, O: Order, f: (a: A) => Iterable): SortedSet;
(O: Order, f: (a: A) => Iterable): (self: SortedSet) => SortedSet;
};
/**
* @since 1.0.0
* @category traversing
*/
export declare const forEach: {
(self: SortedSet, f: (a: A) => void): void;
(f: (a: A) => void): (self: SortedSet) => void;
};
/**
* @since 1.0.0
* @category elements
*/
export declare const has: {
(self: SortedSet, value: A): boolean;
(value: A): (self: SortedSet) => boolean;
};
/**
* @since 1.0.0
* @category mutations
*/
export declare const intersection: {
(self: SortedSet, that: Iterable): SortedSet;
(that: Iterable): (self: SortedSet) => SortedSet;
};
/**
* @since 1.0.0
* @category elements
*/
export declare const isSubset: {
(self: SortedSet, that: SortedSet): boolean;
(that: SortedSet): (self: SortedSet) => boolean;
};
/**
* @since 1.0.0
* @category mapping
*/
export declare const map: {
(self: SortedSet, O: Order, f: (a: A) => B): SortedSet;
(O: Order, f: (a: A) => B): (self: SortedSet) => SortedSet;
};
/**
* @since 1.0.0
* @category filtering
*/
export declare const partition: {
(self: SortedSet, refinement: Refinement): readonly [SortedSet, SortedSet];
(self: SortedSet, predicate: Predicate): readonly [SortedSet, SortedSet];
(refinement: Refinement): (self: SortedSet) => readonly [SortedSet, SortedSet];
(predicate: Predicate): (self: SortedSet) => readonly [SortedSet, SortedSet];
};
/**
* @since 1.0.0
* @category elements
*/
export declare const remove: {
(self: SortedSet, value: A): SortedSet;
(value: A): (self: SortedSet) => SortedSet;
};
/**
* @since 1.0.0
* @category getters
*/
export declare const size: (self: SortedSet) => number;
/**
* @since 1.0.0
* @category elements
*/
export declare const some: {
(self: SortedSet, predicate: Predicate): boolean;
(predicate: Predicate): (self: SortedSet) => boolean;
};
/**
* @since 1.0.0
* @category elements
*/
export declare const toggle: {
(self: SortedSet, value: A): SortedSet;
(value: A): (self: SortedSet) => SortedSet;
};
/**
* @since 1.0.0
* @category mutations
*/
export declare const union: {
(self: SortedSet, that: Iterable): SortedSet;
(that: Iterable): (self: SortedSet) => SortedSet;
};
/**
* @since 1.0.0
* @category getters
*/
export declare const values: (self: SortedSet) => IterableIterator;
export {};
//# sourceMappingURL=SortedSet.d.ts.map