1/* 2 * Copyright (c) 2021 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16import {Curve} from "./common"; 17 18export declare enum RouteType { 19 None, 20 Push, 21 Pop 22} 23 24export declare enum SlideEffect { 25 Left, 26 Right, 27 Top, 28 Bottom 29} 30 31export declare class CommonTransition<T> { 32 constructor(); 33 34 slide(value: SlideEffect): T; 35 36 translate(value: { x?: number | string, y?: number | string, z?: number | string }): T; 37 38 scale(value: { x?: number, y?: number, z?: number, centerX?: number | string, centerY?: number | string }): T; 39 40 opacity(value: number): T; 41} 42 43interface PageTransitionEnter extends CommonTransition<PageTransitionEnter> { 44 (value: { type?: RouteType, duration?: number, curve?: Curve | string, delay?: number }): PageTransitionEnter; 45 46 onEnter(event: (type?: RouteType, progress?: number) => void): PageTransitionEnter; 47} 48 49interface PageTransitionExit extends CommonTransition<PageTransitionExit> { 50 (value: { type?: RouteType, duration?: number, curve?: Curve | string, delay?: number }): PageTransitionExit; 51 52 onExit(event: (type?: RouteType, progress?: number) => void): PageTransitionExit; 53} 54 55export declare const PageTransitionEnterInterface: PageTransitionEnter; 56export declare const PageTransitionExitInterface: PageTransitionExit;