import { Injector } from '@angular/core'; import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; import { Platform as PlatformType } from '@ng-frrri/router-middleware/internal'; import { Observable } from 'rxjs'; import { Middleware } from '../interfaces/middleware.interface'; declare type OptionalArray = T | T[]; export interface Platform extends Resolve> { getOperations(route: ActivatedRouteSnapshot): any; getMiddlewares(): Middleware[]; getOperations$(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable[]; } export interface PlatformAbstract { onInit?(): void; } export declare abstract class PlatformAbstract implements Platform { protected injector: Injector; protected platform: PlatformType; protected ngPlatformId: Object; constructor(injector: Injector); getOperations(route: ActivatedRouteSnapshot): any; getMiddlewares(): Middleware[]; getOperations$(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable[]; resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable> | Promise> | OptionalArray; } export {};