// Type definitions for Masonry 4.0.0 // Project: https://github.com/desandro/masonry // Definitions by: Mark Wilson // Definitions: https://github.com/borisyankov/DefinitelyTyped /// // Modified from original definitions by: // Travis Brown < https://github.com/warriorrocker> declare module Masonry { class Masonry implements MasonryGrid { constructor(options?: MasonryOptions); constructor(selector: string, options?: MasonryOptions); } interface MasonryGrid { masonry?(): void; masonry?(eventName: string, listener: any): void; // layout layout?(): void; layoutItems?(items: Array, isStill?: boolean): void; stamp?(elements: Array): void; unstamp?(elements: Array): void; // add and remove items appended?(elements: Array): void; prepended?(elements: Array): void; addItems?(elements: Array): void; remove?(elements: Array): void; // events on?(eventName: string, listener: any): void; off?(eventName: string, listener: any): void; once?(eventName: string, listener: any): void; // utilities reloadItems?(): void; destroy?(): void; getItemElements?(): Array; data?(element: Element): Masonry; } interface MasonryOptions { // layout itemSelector?: string; columnWidth?: any; percentPosition?: boolean; gutter?: any; stamp?: string; fitWidth?: boolean; originLeft?: boolean; originTop?: boolean; // setup containerStyle?: Object; transitionDuration?: any; resize?: boolean; initLayout?: boolean; } } interface JQuery { masonry(options?: Masonry.MasonryOptions): JQuery; }