import { Accessor } from 'solid-js'; interface CreateControllableSignalProps { /** The value to be used, in controlled mode. */ value?: Accessor; /** The initial value to be used, in uncontrolled mode. */ defaultValue?: Accessor; /** A function that will be called when the value changes. */ onChange?: (value: T) => void; } /** * Creates a simple reactive state with a getter and setter, * that can be controlled with `value` and `onChange` props. */ declare function createControllableSignal(props: CreateControllableSignalProps): readonly [Accessor, (next: Exclude | ((prev: T) => T)) => void]; /** * Creates a simple reactive Boolean state with a getter, setter and a fallback value of `false`, * that can be controlled with `value` and `onChange` props. */ declare function createControllableBooleanSignal(props: CreateControllableSignalProps): readonly [Accessor, (next: boolean | ((prev: boolean) => boolean)) => void]; /** * Creates a simple reactive Array state with a getter, setter and a fallback value of `[]`, * that can be controlled with `value` and `onChange` props. */ declare function createControllableArraySignal(props: CreateControllableSignalProps>): readonly [Accessor, (next: T[] | ((prev: T[]) => T[])) => void]; /** * Creates a simple reactive Set state with a getter, setter and a fallback value of `Set()`, * that can be controlled with `value` and `onChange` props. */ declare function createControllableSetSignal(props: CreateControllableSignalProps>): readonly [Accessor>, (next: Set | ((prev: Set) => Set)) => void]; export { CreateControllableSignalProps, createControllableArraySignal, createControllableBooleanSignal, createControllableSetSignal, createControllableSignal };