import { AccessorChain } from "./createAccessorModelProxy"; export interface BindingObject { bind: string; defaultValue?: any; throttle?: number; debounce?: number; } export type BindingInput = string | BindingObject | Binding | AccessorChain; export type ValueGetter = (state: any) => T | undefined; export declare class Binding { readonly path: string; readonly parts: readonly string[]; readonly value: ValueGetter; constructor(path: string); set = any>(state: S, value: T): S; delete = any>(state: S): S; static get(path: BindingInput): Binding; } export declare function isBinding(value: unknown): value is BindingInput; export type BindingValue = B extends Binding ? T : unknown; export declare function isBindingObject(value: unknown): value is BindingObject; //# sourceMappingURL=Binding.d.ts.map