import * as sassClassic from "sass"; import SassPackage from "sass"; import * as sassEmbedded from "sass-embedded"; import SassEmbeddedPackage from "sass-embedded"; //#region lib/types.d.ts type IsAny = boolean extends (T extends never ? true : false) ? true : false; declare namespace Sass { type Exception = IsAny extends false ? SassEmbeddedPackage.Exception : SassPackage.Exception; type Logger = IsAny extends false ? SassEmbeddedPackage.Logger : SassPackage.Logger; type LoggerWarnOptions = IsAny extends false ? SassEmbeddedPackage.LoggerWarnOptions : SassPackage.LoggerWarnOptions; type CompileResult = IsAny extends false ? SassEmbeddedPackage.CompileResult : SassPackage.CompileResult; type Options = IsAny> extends false ? SassEmbeddedPackage.Options : SassPackage.Options; type StringOptions = IsAny> extends false ? SassEmbeddedPackage.StringOptions : SassPackage.StringOptions; type Value = IsAny extends false ? SassEmbeddedPackage.Value : SassPackage.Value; type SassString = IsAny extends false ? SassEmbeddedPackage.SassString : SassPackage.SassString; type SassList = IsAny extends false ? SassEmbeddedPackage.SassList : SassPackage.SassList; type SassMap = IsAny extends false ? SassEmbeddedPackage.SassMap : SassPackage.SassMap; type CalculationOperator = IsAny extends false ? SassEmbeddedPackage.CalculationOperator : SassPackage.CalculationOperator; type CalculationValue = IsAny extends false ? SassEmbeddedPackage.CalculationValue : SassPackage.CalculationValue; } type SassModule = IsAny extends false ? typeof sassEmbedded : typeof sassClassic; //#endregion //#region index.d.ts /** * @import {SassModule, Sass} from './lib/types.js' */ /** * @typedef {JsonPrimitive | JsonObject | JsonArray} JsonValue * @typedef {JsonValue[]} JsonArray * @typedef {string | number | boolean | null} JsonPrimitive * @typedef {{[Key in string]?: JsonValue}} JsonObject */ /** * @param {SassModule} sass */ declare function createJsonFunctions(sass: SassModule): { /** * Encodes (`JSON.stringify`) data and returns Sass string. By default, string is quoted with single quotes so that it can be easily used in standard CSS values. * * @param $data `sass.Value` - Data to encode (stringify). * @param $qoutes `sass.SassBoolean` - Should output string be quoted with single quotes. */ 'json-encode($data, $quotes: true)': (encodeArguments: Sass.Value[]) => Sass.SassString; /** * Decodes (`JSON.parse`) string and returns one of available Sass types. * * @param $string `sass.SassString` - String to decode (parse). */ 'json-decode($string)': (decodeArguments: Sass.Value[]) => Sass.Value; }; type JsonValue = JsonPrimitive | JsonObject | JsonArray; type JsonArray = JsonValue[]; type JsonPrimitive = string | number | boolean | null; type JsonObject = { [Key in string]?: JsonValue }; //#endregion export { JsonArray, JsonObject, JsonPrimitive, JsonValue, createJsonFunctions as default }; //# sourceMappingURL=index.d.ts.map