48eb7549ca29246af531cfc64fb500596b4a338d
[Packages/TYPO3.CMS.git] / Build / types / TYPO3 / index.d.ts
1 /* tslint:disable:max-classes-per-file */
2
3 /**
4  * Currently a mixture between namespace and global object
5  * Add types as you use them
6  */
7 declare namespace TYPO3 {
8   export let Popover: any;
9   export const lang: any;
10   export const settings: any;
11   export namespace CMS {
12     export namespace Backend {
13       export class FormEngineValidation {
14         public readonly errorClass: string;
15       }
16       export class FormEngine {
17         public readonly Validation: FormEngineValidation;
18       }
19       export class Modal {
20         public readonly sizes: {[key: string]: string};
21         public readonly styles: {[key: string]: string};
22         public currentModal: JQuery;
23         public advanced(configuration: object): any;
24         public confirm(title: string, content: any, severity: number, buttons: any[], additionalCssClasses?: string[]): JQuery; // tslint:disable-line:max-line-length
25         public show(title: string, content: any, severity: number, buttons: any[], additionalCssClasses?: string[]): JQuery; // tslint:disable-line:max-line-length
26         public dismiss(): void;
27       }
28       export class Severity {
29         public readonly notice: number;
30         public readonly info: number;
31         public readonly ok: number;
32         public readonly warning: number;
33         public readonly: number;
34         public getCssClass(severity: number): string;
35       }
36     }
37   }
38 }
39
40 /**
41  * Current AMD/RequireJS modules are returning *instances* of ad-hoc *classes*, make that known to TypeScript
42  */
43
44 declare module 'TYPO3/CMS/Backend/FormEngineValidation' {
45   export = new TYPO3.CMS.Backend.FormEngineValidation();
46 }
47
48 declare module 'TYPO3/CMS/Backend/FormEngine' {
49   export = new TYPO3.CMS.Backend.FormEngine();
50 }
51
52 declare module 'TYPO3/CMS/Backend/Modal' {
53   export = new TYPO3.CMS.Backend.Modal();
54 }
55
56 declare module 'TYPO3/CMS/Backend/Severity' {
57   export = new TYPO3.CMS.Backend.Severity();
58 }
59
60 // Type definition for global namespace object
61 interface Window {
62   TYPO3: any;
63   $: any;
64 }
65
66 /**
67  * Needed type declarations for provided libs
68  */
69 declare module 'TYPO3/CMS/Core/Contrib/imagesloaded.pkgd.min' {
70   import * as imagesloaded from 'imagesloaded';
71   export = imagesloaded;
72 }
73
74 declare module 'cm/lib/codemirror';