import type { IPrimitiveDefinition } from './mccarthy';
/**
 * LIST - Create a list from arguments
 * (list 1 2 3) → (1 2 3)
 */
export declare const list: IPrimitiveDefinition;
/**
 * LENGTH - Get length of list or string
 * (length '(a b c)) → 3
 */
export declare const length: IPrimitiveDefinition;
/**
 * NTH - Get nth element (0-indexed)
 * (nth 1 '(a b c)) → b
 */
export declare const nth: IPrimitiveDefinition;
/**
 * LAST - Get last element
 * (last '(a b c)) → c
 */
export declare const last: IPrimitiveDefinition;
/**
 * BUTLAST - All but last element
 * (butlast '(a b c)) → (a b)
 */
export declare const butlast: IPrimitiveDefinition;
/**
 * APPEND - Concatenate lists
 * (append '(a b) '(c d)) → (a b c d)
 */
export declare const append: IPrimitiveDefinition;
/**
 * REVERSE - Reverse a list
 * (reverse '(a b c)) → (c b a)
 */
export declare const reverse: IPrimitiveDefinition;
/**
 * MEMBER - Check if element is in list
 * (member 'b '(a b c)) → true
 */
export declare const member: IPrimitiveDefinition;
/**
 * RANGE - Generate a range of numbers
 * (range 5) → (0 1 2 3 4)
 * (range 2 5) → (2 3 4)
 * (range 0 10 2) → (0 2 4 6 8)
 */
export declare const range: IPrimitiveDefinition;
/**
 * TAKE - Take first n elements
 * (take 2 '(a b c d)) → (a b)
 */
export declare const take: IPrimitiveDefinition;
/**
 * DROP - Drop first n elements
 * (drop 2 '(a b c d)) → (c d)
 */
export declare const drop: IPrimitiveDefinition;
/**
 * SORT - Sort a list
 * (sort '(3 1 4 1 5)) → (1 1 3 4 5)
 */
export declare const sort: IPrimitiveDefinition;
/**
 * ZIP - Zip multiple lists together
 * (zip '(1 2 3) '(a b c)) → ((1 a) (2 b) (3 c))
 */
export declare const zip: IPrimitiveDefinition;
/**
 * UNIQUE - Remove duplicates
 * (unique '(1 2 2 3 3 3)) → (1 2 3)
 */
export declare const unique: IPrimitiveDefinition;
/**
 * FLATTEN - Flatten nested lists
 * (flatten '((1 2) (3 (4 5)))) → (1 2 3 4 5)
 */
export declare const flatten: IPrimitiveDefinition;
/**
 * NULL? - Is it null or empty list?
 * (null? '()) → true
 */
export declare const nullp: IPrimitiveDefinition;
/**
 * PAIR? - Is it a non-empty list?
 * (pair? '(a b)) → true
 */
export declare const pairp: IPrimitiveDefinition;
/**
 * LIST? - Is it a list?
 * (list? '(a b)) → true
 */
export declare const listp: IPrimitiveDefinition;
/**
 * All list primitives
 */
export declare const listPrimitives: IPrimitiveDefinition[];
//# sourceMappingURL=list.d.ts.map