import type { Read, Write } from "@ot-builder/bin-util";
type Cons<X, T extends unknown[]> = ((x: X, ...t: T) => void) extends (...t: infer R) => void ? R : never;
export declare function SimpleArray<TR, AR extends unknown[], TW, AW extends unknown[]>(n: Read<number, []> & Write<number, []>, r: Read<TR, AR> & Write<TW, AW>): Read<TR[], AR> & Write<readonly TW[], AW>;
export declare function ExtCountArray<TR, AR extends unknown[], TW, AW extends unknown[]>(r: Read<TR, AR> & Write<TW, AW>): Read<TR[], Cons<number, AR>> & Write<readonly TW[], Cons<number, AW>>;
export {};
//# sourceMappingURL=simple-array.d.ts.map