import * as postcss from 'postcss'; import { ArgumentList, ArgumentListProps } from '../argument-list'; import { NodeProps } from '../node'; import { RawWithValue } from '../raw-with-value'; import * as sassInternal from '../sass-internal'; import { Expression } from '.'; /** * The initializer properties for {@link FunctionExpression}. * * @category Expression */ export interface FunctionExpressionProps extends NodeProps { namespace?: string; name: string; arguments: ArgumentList | ArgumentListProps; raws?: FunctionExpressionRaws; } /** * Raws indicating how to precisely serialize a {@link FunctionExpression}. * * @category Expression */ export interface FunctionExpressionRaws { /** * The function's namespace. * * This may be different than {@link FunctionExpression.namespace} if the * namespace contains escape codes. */ namespace?: RawWithValue; /** * The function's name. * * This may be different than {@link FunctionExpression.name} if the name * contains escape codes or underscores. */ name?: RawWithValue; } /** * An expression representing a (non-interpolated) function call in Sass. * * @category Expression */ export declare class FunctionExpression extends Expression { readonly sassType: "function-call"; raws: FunctionExpressionRaws; /** * This function's namespace. * * This is the parsed and normalized value, with escapes resolved to the * characters they represent. */ get namespace(): string | undefined; set namespace(namespace: string | undefined); private _namespace; /** * This function's name. * * This is the parsed and normalized value, with underscores converted to * hyphens and escapes resolved to the characters they represent. */ get name(): string; set name(name: string); private _name; /** The arguments to pass to the function. */ get arguments(): ArgumentList; set arguments(args: ArgumentList | ArgumentListProps | undefined); private _arguments; constructor(defaults: FunctionExpressionProps); /** @hidden */ constructor(_: undefined, inner: sassInternal.FunctionExpression); clone(overrides?: Partial): this; toJSON(): object; /** @hidden */ toJSON(_: string, inputs: Map): object; /** @hidden */ toString(): string; /** @hidden */ get nonStatementChildren(): ReadonlyArray; }