import type { Comment, SourceLocation, UnaryExpression, UnaryOperator } from 'estree'; import type { StepperExpression, StepperPattern } from '..'; import { StepperBaseNode } from '../../interface'; import type { RedexInfo } from '../..'; import { StepperLiteral } from './Literal'; export declare class StepperUnaryExpression extends StepperBaseNode implements UnaryExpression { readonly operator: UnaryOperator; readonly argument: StepperExpression; readonly prefix: true; constructor(operator: UnaryOperator, argument: StepperExpression, leadingComments?: Comment[], trailingComments?: Comment[], loc?: SourceLocation | null, range?: [number, number]); static createLiteral(node: StepperUnaryExpression | UnaryExpression): StepperLiteral | undefined; static create(node: UnaryExpression): StepperUnaryExpression | StepperLiteral; isContractible(redex: RedexInfo): boolean; isOneStepPossible(redex: RedexInfo): boolean; contract(redex: RedexInfo): StepperLiteral; oneStep(redex: RedexInfo): StepperExpression; substitute(id: StepperPattern, value: StepperExpression, redex: RedexInfo): StepperExpression; freeNames(): string[]; allNames(): string[]; rename(before: string, after: string): StepperExpression; }