import type { AtomImpl } from "../../implementation.ts";
import { AtomInternalCollection } from "../collection/index.ts";
export declare class AtomInternalArray<Value extends Array<unknown>> extends AtomInternalCollection<Value> {
    #private;
    constructor(external: AtomImpl<Value>, value: Value);
    get value(): Value;
    set(newValue: any): bigint;
    dirty(initial: any): boolean;
    get size(): number;
    remove(key: keyof Value): any;
    forEach(callback: AtomInternalCollection.Callback<Value>): void;
    map<Result>(callback: AtomInternalCollection.Callback<Value, Result>): Result[];
    find(predicate: AtomInternalCollection.Predicate<Value>): AtomImpl<unknown> | undefined;
    filter(predicate: AtomInternalCollection.Predicate<Value>): AtomImpl<unknown>[];
    push<ItemValue extends Value[keyof Value]>(item: ItemValue): AtomImpl<ItemValue>;
    insert<ItemValue extends Value[keyof Value]>(index: number, item: ItemValue): AtomImpl<ItemValue>;
    $(): {};
    at(key: any): AtomImpl<Value[number]>;
    try(index: any): any;
    lookup(path: any): AtomImpl<unknown> | AtomImpl<Value> | undefined;
    childUpdate(childChanges: any, key: any): bigint;
    unwatch(): void;
    withhold(): void;
    unleash(): void;
}
//# sourceMappingURL=index.d.ts.map