import * as postcss from 'postcss'; import { NodeProps } from '../node'; import type * as sassInternal from '../sass-internal'; import { AnyExpression, Expression, ExpressionProps } from '.'; /** Different unary operations supported by Sass. */ export type UnaryOperator = '+' | '-' | '/' | 'not'; /** * The initializer properties for {@link UnaryOperationExpression}. * * @category Expression */ export interface UnaryOperationExpressionProps extends NodeProps { operator: UnaryOperator; operand: AnyExpression | ExpressionProps; raws?: UnaryOperationExpressionRaws; } /** * Raws indicating how to precisely serialize a {@link UnaryOperationExpression}. * * @category Expression */ export interface UnaryOperationExpressionRaws { /** The whitespace between the operator and operand. */ between?: string; } /** * An expression representing a unary operation in Sass. * * @category Expression */ export declare class UnaryOperationExpression extends Expression { readonly sassType: "unary-operation"; raws: UnaryOperationExpressionRaws; /** Which operator this operation uses. */ get operator(): UnaryOperator; set operator(operator: UnaryOperator); private _operator; /** The expression that this operation acts on. */ get operand(): AnyExpression; set operand(operand: AnyExpression | ExpressionProps); private _operand; constructor(defaults: UnaryOperationExpressionProps); /** @hidden */ constructor(_: undefined, inner: sassInternal.UnaryOperationExpression); clone(overrides?: Partial): this; toJSON(): object; /** @hidden */ toJSON(_: string, inputs: Map): object; /** @hidden */ toString(): string; /** @hidden */ get nonStatementChildren(): ReadonlyArray; }