import type { Comment, SourceLocation, VariableDeclaration, VariableDeclarator } from 'estree'; import { type StepperExpression, type StepperPattern, undefinedNode } from '..'; import { StepperBaseNode } from '../../interface'; import type { RedexInfo } from '../..'; export declare class StepperVariableDeclarator extends StepperBaseNode implements VariableDeclarator { readonly id: StepperPattern; readonly init: StepperExpression | null | undefined; constructor(id: StepperPattern, init: StepperExpression | null | undefined, leadingComments?: Comment[] | undefined, trailingComments?: Comment[] | undefined, loc?: SourceLocation | null | undefined, range?: [number, number] | undefined); static create(node: VariableDeclarator): StepperVariableDeclarator; isContractible(redex: RedexInfo): boolean; isOneStepPossible(redex: RedexInfo): boolean; contract(redex: RedexInfo): StepperVariableDeclarator; oneStep(redex: RedexInfo): StepperVariableDeclarator; substitute(id: StepperPattern, value: StepperExpression, redex: RedexInfo): StepperBaseNode; freeNames(): string[]; allNames(): string[]; rename(before: string, after: string): StepperVariableDeclarator; } export declare class StepperVariableDeclaration extends StepperBaseNode implements VariableDeclaration { readonly declarations: StepperVariableDeclarator[]; readonly kind: VariableDeclaration['kind']; constructor(declarations: StepperVariableDeclarator[], kind: VariableDeclaration['kind'], leadingComments?: Comment[] | undefined, trailingComments?: Comment[] | undefined, loc?: SourceLocation | null | undefined, range?: [number, number] | undefined); static create(node: VariableDeclaration): StepperVariableDeclaration; isContractible(): boolean; isOneStepPossible(redex: RedexInfo): boolean; contract(redex: RedexInfo): typeof undefinedNode; contractEmpty(redex: RedexInfo): void; oneStep(redex: RedexInfo): StepperVariableDeclaration | typeof undefinedNode; substitute(id: StepperPattern, value: StepperExpression, redex: RedexInfo): StepperBaseNode; freeNames(): string[]; allNames(): string[]; rename(before: string, after: string): StepperVariableDeclaration; }