import * as postcss from 'postcss'; import { AnyExpression, ExpressionProps } from './index'; import { Node, NodeProps } from '../node'; import { AnyIfConditionExpression, IfConditionExpressionProps } from './if-condition-expression'; import { IfExpression } from './if'; /** * The set of raws supported by {@link IfEntry}. * * @category Expression */ export interface IfEntryRaws { /** * The exact formatting of the `else` keyword. This is only set if this entry * uses `else` in place of a condition. */ else?: string; /** The whitespace before the condition. */ before?: string; /** The whitespace and colon between the condition and its value. */ between?: string; /** * The space symbols between the end value and the semicolon afterwards. Always * empty for an entry that doesn't have a trailing semicolon. */ after?: string; } /** * The initializer properties for {@link IfEntry} passed as an * options object. * * @category Expression */ export interface IfEntryObjectProps extends NodeProps { raws?: IfEntryRaws; condition: AnyIfConditionExpression | IfConditionExpressionProps | 'else'; value: AnyExpression | ExpressionProps; } /** * The initializer properties for {@link IfEntry}. * * @category Expression */ export type IfEntryProps = IfEntryObjectProps | [ AnyIfConditionExpression | IfConditionExpressionProps | 'else', AnyExpression | ExpressionProps ]; /** * A single condition/value pair in an {@link IfExpression}. * k * @category Expression */ export declare class IfEntry extends Node { readonly sassType: "if-entry"; raws: IfEntryRaws; parent: IfExpression | undefined; /** The entry's condition. */ get condition(): AnyIfConditionExpression | 'else'; set condition(condition: AnyIfConditionExpression | IfConditionExpressionProps | 'else'); private _condition?; /** The entry's value. */ get value(): AnyExpression; set value(value: AnyExpression | ExpressionProps); private _value?; constructor(defaults: IfEntryProps); clone(overrides?: Partial): this; toJSON(): object; /** @hidden */ toJSON(_: string, inputs: Map): object; /** @hidden */ toString(): string; /** @hidden */ get nonStatementChildren(): ReadonlyArray; }