/** * Which declaration a name resolves to, and what follows from the answer: the * three binding-identity questions, the root a mutation lands on, and the * prop-specific wording a mutation of an explicitly readonly prop earns. * * D115 P4 R3c. Every question here is asked of the *binding* a name resolves * to, never of the spelling, which is why they all start at `lookup` — a local * `state` may shadow a derived or imported name, and the shadow is ordinary * writable state. */ import { type Expression, type Statement } from "@velarscript/compiler/extension"; import { type ReactiveNamesHost } from "./host.ts"; /** * True when `name` resolves to a `computed` declaration or to an imported one. * The question is asked of the *binding* the name resolves to, never of the * spelling: a local `state` may shadow an imported derived name, and that * shadow is writable state. */ export declare function isComputedBinding(host: ReactiveNamesHost, name: string): boolean; /** * True when `name` resolves to a `resource` declaration. Asked of the binding * rather than of the spelling, for the reason `isComputedBinding` is: a local * `state` may shadow a resource's name, and the shadow is not a resource. */ export declare function isResourceBinding(host: ReactiveNamesHost, name: string): boolean; export declare function isImportedComputedBinding(host: ReactiveNamesHost, name: string): boolean; export declare function writableStateName(host: ReactiveNamesHost, name: string): boolean; export declare function directReadonlyPropMutation(host: ReactiveNamesHost, statement: Statement): string | null; export declare function rootBindingName(expression: Expression): string | null; /** * D74: the readonly refusals the core raised while this statement was analyzed, * restated so they name the prop and the author's own contract. The cursor is * the diagnostic count taken before the core walked the statement, so only what * this statement earned is rewritten. */ export declare function restateReadonlyPropMutation(host: ReactiveNamesHost, firstDiagnostic: number, readonlyProp: string | null): void; //# sourceMappingURL=bindings.d.ts.map