import type { Atom } from "./atom"; type AtomValues>> = { [Key in keyof A]: A[Key] extends Atom ? Value : never; }; export type Selector>, R> = { atoms: [...A]; callback: (...values: AtomValues<[...A]>) => R; }; /** * Creates a selector to derive state from multiple atoms. * * @remarks * Selectors allow you to compute derived state that updates whenever any of the input atoms change. * * @typeParam A - The array of input atoms. * @typeParam R - The return type of the selector. * @param atoms - The input atoms. * @param callback - The function to compute the derived state. * @returns A selector definition object. * * @example * ```ts * const sumSelector = selector([atomA, atomB], (a, b) => a + b); * ``` */ export declare function selector>, R>(atoms: [...A], callback: (...values: AtomValues<[...A]>) => R): Selector; export {};