/** * DO NOT EDIT * * This file was automatically generated by * https://github.com/Polymer/tools/tree/master/packages/gen-typescript-declarations * * To modify these typings, edit the source file(s): * iron-resizable-behavior.js */ import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js'; export {IronResizableBehavior}; /** * `IronResizableBehavior` is a behavior that can be used in Polymer elements to * coordinate the flow of resize events between "resizers" (elements that * control the size or hidden state of their children) and "resizables" (elements * that need to be notified when they are resized or un-hidden by their parents * in order to take action on their new measurements). * * Elements that perform measurement should add the `IronResizableBehavior` * behavior to their element definition and listen for the `iron-resize` event on * themselves. This event will be fired when they become showing after having * been hidden, when they are resized explicitly by another resizable, or when * the window has been resized. * * Note, the `iron-resize` event is non-bubbling. */ interface IronResizableBehavior { /** * The closest ancestor element that implements `IronResizableBehavior`. */ _parentResizable: object|null|undefined; /** * True if this element is currently notifying its descendant elements of * resize. */ _notifyingDescendant: boolean|null|undefined; created(): void; attached(): void; detached(): void; /** * Can be called to manually notify a resizable and its descendant * resizables of a resize change. */ notifyResize(): void; /** * Used to assign the closest resizable ancestor to this resizable * if the ancestor detects a request for notifications. */ assignParentResizable(parentResizable: any): void; /** * Used to remove a resizable descendant from the list of descendants * that should be notified of a resize change. */ stopResizeNotificationsFor(target: any): void; /** * Subscribe this element to listen to iron-resize events on the given target. * * Preferred over target.listen because the property renamer does not * understand to rename when the target is not specifically "this" * * @param target Element to listen to for iron-resize events. */ _subscribeIronResize(target: HTMLElement): void; /** * Unsubscribe this element from listening to to iron-resize events on the * given target. * * Preferred over target.unlisten because the property renamer does not * understand to rename when the target is not specifically "this" * * @param target Element to listen to for iron-resize events. */ _unsubscribeIronResize(target: HTMLElement): void; /** * This method can be overridden to filter nested elements that should or * should not be notified by the current element. Return true if an element * should be notified, or false if it should not be notified. * * @param element A candidate descendant element that * implements `IronResizableBehavior`. * @returns True if the `element` should be notified of resize. */ resizerShouldNotify(element: HTMLElement|null): boolean; _onDescendantIronResize(event: any): void; _fireResize(): void; _onIronRequestResizeNotifications(event: any): void; _parentResizableChanged(parentResizable: any): void; _notifyDescendant(descendant: any): void; _requestResizeNotifications(): void; _findParent(): void; } declare const IronResizableBehavior: object;