import type { ConfigConditions, ConfigStaticProperties, ConfigDynamicProperties, ConfigShorthands, CommonOptions } from "./types.js"; declare type ConditionalMap = { default: string; conditions: Record; }; declare type ReturnConditionalDynamic = { config: { [Property in keyof DynamicProperties]: { dynamic: ConditionalMap; dynamicScale: DynamicProperties[Property]; name: Property; vars: ConditionalMap; }; }; }; declare type ReturnDynamic = { config: { [Property in keyof DynamicProperties]: { dynamic: { default: string; }; dynamicScale: DynamicProperties[Property]; name: Property; vars: { default: string; }; }; }; }; declare type Values = { [Value in Property extends ReadonlyArray ? Property[number] : Property extends Array ? Property[number] : keyof Property]: Result; }; declare type ReturnConditionalStatic = { config: { [Property in keyof StaticProperties]: { values: Values>; staticScale: StaticProperties[Property]; name: Property; }; }; }; declare type ReturnStatic = { config: { [Property in keyof StaticProperties]: { values: Values; staticScale: StaticProperties[Property]; name: Property; }; }; }; declare type ReturnShorthands; }> = { config: { [Shorthand in keyof Shorthands]: { mappings: Shorthands[Shorthand]; }; }; }; declare type ShorthandOptions; }> = { shorthands?: Shorthands; }; export declare type OptionsConditionalDynamic = { dynamicProperties: DynamicProperties; conditions: Conditions; defaultCondition: keyof Conditions; }; export declare type OptionsConditionalStatic = { staticProperties: StaticProperties; conditions: Conditions; defaultCondition: keyof Conditions; }; export declare type OptionsConditionalBoth = { dynamicProperties: DynamicProperties; staticProperties: StaticProperties; conditions: Conditions; defaultCondition: keyof Conditions; }; export declare type OptionsDynamic = { dynamicProperties: DynamicProperties; }; export declare type OptionsStatic = { staticProperties: StaticProperties; }; export declare type OptionsBoth = { dynamicProperties: DynamicProperties; staticProperties: StaticProperties; }; /** * NO SHORTHANDS + NO CONDITIONS */ export declare function defineProperties(options: CommonOptions & OptionsDynamic): ReturnDynamic; export declare function defineProperties(options: CommonOptions & OptionsStatic): ReturnStatic; export declare function defineProperties(options: CommonOptions & OptionsBoth): ReturnStatic & ReturnDynamic; /** * SHORTHANDS + NO CONDITIONS */ export declare function defineProperties; }>(options: CommonOptions & OptionsDynamic & ShorthandOptions): ReturnDynamic & ReturnShorthands; export declare function defineProperties; }>(options: CommonOptions & OptionsStatic & ShorthandOptions): ReturnStatic & ReturnShorthands; export declare function defineProperties>(options: CommonOptions & OptionsBoth & ShorthandOptions): ReturnStatic & ReturnDynamic & ReturnShorthands; /** * NO SHORTHANDS + CONDITIONS */ export declare function defineProperties(options: CommonOptions & OptionsConditionalDynamic): ReturnConditionalDynamic; export declare function defineProperties(options: CommonOptions & OptionsConditionalStatic): ReturnConditionalStatic; export declare function defineProperties(options: CommonOptions & OptionsConditionalBoth): ReturnConditionalStatic & ReturnConditionalDynamic; /** * SHORTHANDS + CONDITIONS */ export declare function defineProperties; }>(options: CommonOptions & OptionsConditionalDynamic & ShorthandOptions): ReturnConditionalDynamic & ReturnShorthands; export declare function defineProperties; }>(options: CommonOptions & OptionsConditionalStatic & ShorthandOptions): ReturnConditionalStatic & ReturnShorthands; export declare function defineProperties>(options: CommonOptions & OptionsConditionalBoth & ShorthandOptions): ReturnConditionalStatic & ReturnConditionalDynamic & ReturnShorthands; export {};