diff --git a/highcharts/highstock-tests.ts b/highcharts/highstock-tests.ts
new file mode 100644
index 000000000..fac6fa676
--- /dev/null
+++ b/highcharts/highstock-tests.ts
@@ -0,0 +1,64 @@
+///
+
+var someData = [1, 2, 3, 4, 5, 6, 7, 8, 9];
+
+$(function () {
+ $('#container').highcharts('StockChart', {
+
+ chart: {
+ type: "arearange"
+ },
+
+ navigator: {
+ height: 80,
+ maskFill: 'rgba(255, 198, 220, 0.75)',
+ handles: {
+ backgroundColor: 'yellow',
+ borderColor: 'red'
+ }
+ },
+
+ rangeSelector: {
+ allButtonsEnabled: true,
+ selected: 1,
+ buttonTheme: { // styles for the buttons
+ fill: 'none',
+ stroke: 'none',
+ 'stroke-width': 0,
+ r: 8,
+ style: {
+ color: '#039',
+ fontWeight: 'bold'
+ },
+ states: {
+ hover: {
+ },
+ select: {
+ fill: '#039',
+ style: {
+ color: 'white'
+ }
+ }
+ }
+ },
+ inputBoxBorderColor: 'gray',
+ inputBoxWidth: 120,
+ inputBoxHeight: 18,
+ inputStyle: {
+ color: '#039',
+ fontWeight: 'bold'
+ },
+ labelStyle: {
+ color: 'silver',
+ fontWeight: 'bold'
+ }
+ },
+
+ series: [{
+ name: 'USD to EUR',
+ data: someData,
+ lineColor: "blue"
+ }]
+ });
+});
+
diff --git a/highcharts/highstock.d.ts b/highcharts/highstock.d.ts
new file mode 100644
index 000000000..269faa803
--- /dev/null
+++ b/highcharts/highstock.d.ts
@@ -0,0 +1,120 @@
+ // Type definitions for Highstock 2.1.5
+// Project: http://www.highcharts.com/
+// Definitions by: David Deutsch
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+///
+
+interface HighstockChartObject extends HighchartsChartObject {
+ options: HighstockOptions;
+}
+
+interface HighstockNavigatorOptions {
+ adaptToUpdatedData?: boolean;
+ baseSeries?: string | number;
+ enabled?: boolean;
+ handles?: {
+ backgoundColor?: string;
+ borderColor?: string;
+ };
+ height?: number;
+ margin?: number;
+ maskFill?: string;
+ maskInside?: boolean;
+ outlineColor?: string;
+ outlineWidth?: number;
+ series?: HighchartsIndividualSeriesOptions;
+ xAxis?: HighchartsAxisOptions;
+ yAxis?: HighchartsAxisOptions;
+}
+
+interface RangeSelectorButton {
+ type: string; //Defines the timespan, can be one of 'millisecond', 'second', 'minute', 'day', 'week', 'month', 'ytd' (year to date), 'year' and 'all'.
+ count: number;
+ text: string;
+ dataGrouping?: any; //not sure how this works
+}
+
+interface HighstockRangeSelectorOptions {
+ allButtonsEnabled?: boolean;
+ buttonSpacing?: number;
+ buttonTheme?: any;
+ buttons?: RangeSelectorButton[];
+ enabled?: boolean;
+ inputBoxBorderColor?: string;
+ inputBoxHeight?: number;
+ inputBoxWidth?: number;
+ inputDateFormat?: string;
+ inputDateParser?: (date: string) => number;
+ inputEditDateFormat?: string;
+ inputEnabled?: boolean;
+ inputPosition?: {
+ align?: string;
+ verticalAlign?: string;
+ x?: number;
+ y?: number;
+ };
+ inputStyle?: HighchartsCSSObject;
+ labelStyle?: HighchartsCSSObject;
+ selected?: number;
+}
+
+interface HighstockScrollbarOptions {
+ barBackgroundColor?: string;
+ barBorderColor?: string;
+ barBorderRadius?: number;
+ barBorderWidth?: number;
+ buttonArrowColor?: string;
+ buttonBackgroundColor?: string;
+ buttonBorderColor?: string;
+ buttonBorderRadius?: number;
+ buttonBorderWidth?: number;
+ enabled?: boolean;
+ height?: number;
+ liveRedraw?: boolean;
+ minWidth?: number;
+ rifleColor?: string;
+ trackBackgroundColor?: string;
+ trackBorderColor?: string;
+ trackBorderRadius?: number;
+ trackBorderWidth?: number;
+}
+
+interface HighstockOptions extends HighchartsOptions {
+ navigator?: HighstockNavigatorOptions;
+ rangeSelector?: HighstockRangeSelectorOptions;
+ scrollbar?: HighstockScrollbarOptions;
+}
+
+interface HighstockChart {
+ new (options: HighstockOptions): HighstockChartObject;
+ new (options: HighstockOptions, callback: (chart: HighstockChartObject) => void): HighstockChartObject;
+}
+
+interface HighchartsStatic {
+ StockChart: HighstockChart;
+}
+
+interface JQuery {
+ highcharts(type: "StockChart"): HighstockChartObject;
+ /**
+ * Creates a new Highcharts.Chart for the current JQuery selector; usually
+ * a div selected by $('#container')
+ * @param {HighchartsOptions} options Options for this chart
+ * @return current {JQuery} selector the current JQuery selector
+ **/
+ highcharts(type: "StockChart", options: HighstockOptions): JQuery;
+ /**
+ * Creates a new Highcharts.Chart for the current JQuery selector; usually
+ * a div selected by $('#container')
+ * @param {HighchartsOptions} options Options for this chart
+ * @param callback Callback function used to manipulate the constructed chart instance
+ * @return current {JQuery} selector the current JQuery selector
+ **/
+ highcharts(type: "StockChart", options: HighstockOptions, callback: (chart: HighstockChartObject) => void): JQuery;
+
+
+ highcharts(type: string): HighchartsChartObject;
+ highcharts(type: string, options: HighchartsOptions): JQuery;
+ highcharts(type: string, options: HighchartsOptions, callback: (chart: HighchartsChartObject) => void): JQuery;
+}
\ No newline at end of file