///
import type { Context } from './context';
/**
* Use lodash merge for objects, return plain value otherwise
*/
export declare const merge: (value: any, incomingValue: any) => any;
export declare const get: {
(object: TObject, path: TKey | [TKey]): TObject[TKey];
(object: TObject_1, path: TKey_1 | [TKey_1]): TObject_1[TKey_1];
(object: TObject_2, path: TKey_2 | [TKey_2], defaultValue: TDefault): TDefault | Exclude;
(object: TObject_3, path: [TKey1, TKey2]): TObject_3[TKey1][TKey2];
(object: TObject_4, path: [TKey1_1, TKey2_1]): TObject_4[TKey1_1][TKey2_1];
(object: TObject_5, path: [TKey1_2, TKey2_2], defaultValue: TDefault_1): TDefault_1 | Exclude;
(object: TObject_6, path: [TKey1_3, TKey2_3, TKey3]): TObject_6[TKey1_3][TKey2_3][TKey3];
(object: TObject_7, path: [TKey1_4, TKey2_4, TKey3_1]): TObject_7[TKey1_4][TKey2_4][TKey3_1];
(object: TObject_8, path: [TKey1_5, TKey2_5, TKey3_2], defaultValue: TDefault_2): TDefault_2 | Exclude;
(object: TObject_9, path: [TKey1_6, TKey2_6, TKey3_3, TKey4]): TObject_9[TKey1_6][TKey2_6][TKey3_3][TKey4];
(object: TObject_10, path: [TKey1_7, TKey2_7, TKey3_4, TKey4_1]): TObject_10[TKey1_7][TKey2_7][TKey3_4][TKey4_1];
(object: TObject_11, path: [TKey1_8, TKey2_8, TKey3_5, TKey4_2], defaultValue: TDefault_3): TDefault_3 | Exclude;
(object: import("lodash").NumericDictionary, path: number): T;
(object: import("lodash").NumericDictionary, path: number): T_1;
(object: import("lodash").NumericDictionary, path: number, defaultValue: TDefault_4): T_2 | TDefault_4;
(object: null, path: import("lodash").Many, defaultValue: TDefault_5): TDefault_5;
(object: null, path: import("lodash").Many): undefined;
(object: any, path: import("lodash").Many, defaultValue?: any): any;
};
/**
* Creates a proxy for the default function exports in transpiled stylesheets
*
* This is so we can get hashed classes on the export
*/
export declare const proxy: (func: Function, context: Context) => any;