// Generated by Lisette bindgen
// Source: slices (Go stdlib)
// Go: 1.25.5
// Lisette: 0.1.14

import "go:iter"

// SKIPPED: All - constraint:union
// type constraint Slice cannot be represented

// SKIPPED: AppendSeq - constraint:union
// type constraint Slice cannot be represented

// SKIPPED: Backward - constraint:union
// type constraint Slice cannot be represented

// SKIPPED: BinarySearch - constraint:union
// type constraint S cannot be represented

// SKIPPED: BinarySearchFunc - constraint:union
// type constraint S cannot be represented

// SKIPPED: Chunk - constraint:union
// type constraint Slice cannot be represented

// SKIPPED: Clip - constraint:union
// type constraint S cannot be represented

// SKIPPED: Clone - constraint:union
// type constraint S cannot be represented

/// Collect collects values from seq into a new slice and returns it.
/// If seq is empty, the result is nil.
pub fn Collect<E>(seq: iter.Seq<E>) -> Slice<E>

// SKIPPED: Compact - constraint:union
// type constraint S cannot be represented

// SKIPPED: CompactFunc - constraint:union
// type constraint S cannot be represented

// SKIPPED: Compare - constraint:union
// type constraint S cannot be represented

// SKIPPED: CompareFunc - constraint:union
// type constraint S1 cannot be represented

// SKIPPED: Concat - constraint:union
// type constraint S cannot be represented

// SKIPPED: Contains - constraint:union
// type constraint S cannot be represented

// SKIPPED: ContainsFunc - constraint:union
// type constraint S cannot be represented

// SKIPPED: Delete - constraint:union
// type constraint S cannot be represented

// SKIPPED: DeleteFunc - constraint:union
// type constraint S cannot be represented

// SKIPPED: Equal - constraint:union
// type constraint S cannot be represented

// SKIPPED: EqualFunc - constraint:union
// type constraint S1 cannot be represented

// SKIPPED: Grow - constraint:union
// type constraint S cannot be represented

// SKIPPED: Index - constraint:union
// type constraint S cannot be represented

// SKIPPED: IndexFunc - constraint:union
// type constraint S cannot be represented

// SKIPPED: Insert - constraint:union
// type constraint S cannot be represented

// SKIPPED: IsSorted - constraint:union
// type constraint S cannot be represented

// SKIPPED: IsSortedFunc - constraint:union
// type constraint S cannot be represented

// SKIPPED: Max - constraint:union
// type constraint S cannot be represented

// SKIPPED: MaxFunc - constraint:union
// type constraint S cannot be represented

// SKIPPED: Min - constraint:union
// type constraint S cannot be represented

// SKIPPED: MinFunc - constraint:union
// type constraint S cannot be represented

// SKIPPED: Repeat - constraint:union
// type constraint S cannot be represented

// SKIPPED: Replace - constraint:union
// type constraint S cannot be represented

// SKIPPED: Reverse - constraint:union
// type constraint S cannot be represented

// SKIPPED: Sort - constraint:union
// type constraint S cannot be represented

// SKIPPED: SortFunc - constraint:union
// type constraint S cannot be represented

// SKIPPED: SortStableFunc - constraint:union
// type constraint S cannot be represented

// SKIPPED: Sorted - constraint:comparable
// type constraint E cannot be represented

/// SortedFunc collects values from seq into a new slice, sorts the slice
/// using the comparison function, and returns it.
/// If seq is empty, the result is nil.
pub fn SortedFunc<E>(seq: iter.Seq<E>, cmp: fn(E, E) -> int) -> Slice<E>

/// SortedStableFunc collects values from seq into a new slice.
/// It then sorts the slice while keeping the original order of equal elements,
/// using the comparison function to compare elements.
/// It returns the new slice.
/// If seq is empty, the result is nil.
pub fn SortedStableFunc<E>(seq: iter.Seq<E>, cmp: fn(E, E) -> int) -> Slice<E>

// SKIPPED: Values - constraint:union
// type constraint Slice cannot be represented
