import { Observable } from 'rxjs';
import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import * as i0 from "@angular/core";
export interface CanComponentDeactivate {
    canDeactivate: () => Observable<boolean> | Promise<boolean> | boolean;
}
export declare class CanDeactivatePageGuard {
    canDeactivate(component: CanComponentDeactivate, currentRoute: ActivatedRouteSnapshot, currentState: RouterStateSnapshot, nextState?: RouterStateSnapshot): any;
    static ɵfac: i0.ɵɵFactoryDeclaration<CanDeactivatePageGuard, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<CanDeactivatePageGuard>;
}
export declare class CanDeactivateNgPageGuard {
    canDeactivate(component: CanComponentDeactivate): boolean | Promise<boolean> | Observable<boolean>;
    static ɵfac: i0.ɵɵFactoryDeclaration<CanDeactivateNgPageGuard, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<CanDeactivateNgPageGuard>;
}
