// Type definitions for ScrollReveal // Project: https://github.com/jlmakes/scrollreveal.js // Definitions by: David Pires // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped declare namespace scrollReveal { interface ScrollRevealRotateObject { x?: number; y?: number; z?: number; } interface ScrollRevealPositionObject { top?: number; right?: number; bottom?: number; left?: number; } interface ScrollRevealObjectOptions { origin ? : string; distance ? : string; duration ? : number; delay ? : number; rotate ? : ScrollRevealRotateObject; opacity ? : number; scale ? : number; easing ? : string; container ? : any; mobile ? : boolean; reset ? : boolean; useDelay ? : string; viewFactor ? : number; viewOffset ? : ScrollRevealPositionObject; beforeReveal ? (domEl: HTMLElement): void; afterReveal ? (domEl: HTMLElement): void; beforeReset ? (domEl: HTMLElement): void; afterReset ? (domEl: HTMLElement): void; beforeReveal ? (domEl: NodeListOf): void; afterReveal ? (domEl: NodeListOf): void; beforeReset ? (domEl: NodeListOf): void; afterReset ? (domEl: NodeListOf): void; } interface ScrollRevealObject { (): ScrollRevealObject; (options: ScrollRevealObjectOptions): ScrollRevealObject; reveal(selector: string): ScrollRevealObject; reveal(selector: string, interval: number): ScrollRevealObject; reveal(selector: string, options: ScrollRevealObjectOptions): ScrollRevealObject; reveal(selector: string, options: ScrollRevealObjectOptions, interval: number): ScrollRevealObject; reveal(selector: HTMLElement): ScrollRevealObject; reveal(selector: HTMLElement, interval: number): ScrollRevealObject; reveal(selector: HTMLElement, options: ScrollRevealObjectOptions): ScrollRevealObject; reveal(selector: HTMLElement, options: ScrollRevealObjectOptions, interval: number): ScrollRevealObject; reveal(selector: NodeListOf): ScrollRevealObject; reveal(selector: NodeListOf, interval: number): ScrollRevealObject; reveal(selector: NodeListOf, options: ScrollRevealObjectOptions): ScrollRevealObject; reveal(selector: NodeListOf, options: ScrollRevealObjectOptions, interval: number): ScrollRevealObject; sync(): void; } } declare var ScrollReveal: scrollReveal.ScrollRevealObject;