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