import { Page as PageDefinition } from '.';
import { ContentView } from '../content-view';
import { View } from '../core/view';
import { ShownModallyData } from '../core/view/view-interfaces';
import { Property, CssProperty } from '../core/properties';
import { Style } from '../styling/style';
import { Color } from '../../color';
import { EventData } from '../../data/observable';
import type { Frame } from '../frame';
import { ActionBar } from '../action-bar';
import { KeyframeAnimationInfo } from '../animation/keyframe-animation';
interface NavigatedData extends EventData {
    context: any;
    isBackNavigation: boolean;
}
export declare class PageBase extends ContentView {
    static navigatingToEvent: string;
    static navigatedToEvent: string;
    static navigatingFromEvent: string;
    static navigatedFromEvent: string;
    private _navigationContext;
    private _actionBar;
    actionBarHidden: boolean;
    enableSwipeBackNavigation: boolean;
    backgroundSpanUnderStatusBar: boolean;
    hasActionBar: boolean;
    accessibilityAnnouncePageEnabled: boolean;
    get navigationContext(): any;
    get actionBar(): ActionBar;
    set actionBar(value: ActionBar);
    get androidStatusBarBackground(): Color;
    set androidStatusBarBackground(value: Color);
    get page(): PageDefinition;
    _parentChanged(oldParent: View): void;
    _addChildFromBuilder(name: string, value: any): void;
    getKeyframeAnimationWithName(animationName: string): KeyframeAnimationInfo;
    get frame(): Frame;
    private createNavigatedData;
    onNavigatingTo(context: any, isBackNavigation: boolean, bindingContext?: any): void;
    onNavigatedTo(isBackNavigation: boolean): void;
    onNavigatingFrom(isBackNavigation: boolean): void;
    onNavigatedFrom(isBackNavigation: boolean): void;
    eachChildView(callback: (child: View) => boolean): void;
    get _childrenCount(): number;
    accessibilityScreenChanged(refocus?: boolean): void;
}
export interface PageBase {
    on(eventNames: string, callback: (data: EventData) => void, thisArg?: any): void;
    on(event: 'navigatingTo', callback: (args: NavigatedData) => void, thisArg?: any): void;
    on(event: 'navigatedTo', callback: (args: NavigatedData) => void, thisArg?: any): void;
    on(event: 'navigatingFrom', callback: (args: NavigatedData) => void, thisArg?: any): void;
    on(event: 'navigatedFrom', callback: (args: NavigatedData) => void, thisArg?: any): void;
    on(event: 'showingModally', callback: (args: ShownModallyData) => void, thisArg?: any): void;
    on(event: 'shownModally', callback: (args: ShownModallyData) => void, thisArg?: any): void;
}
/**
 * Dependency property used to hide the Navigation Bar in iOS and the Action Bar in Android.
 */
export declare const actionBarHiddenProperty: Property<PageBase, boolean>;
/**
 * Dependency property that specify if page background should span under status bar.
 */
export declare const backgroundSpanUnderStatusBarProperty: Property<PageBase, boolean>;
/**
 * Dependency property used to control if swipe back navigation in iOS is enabled.
 * This property is iOS specific. Default value: true
 */
export declare const enableSwipeBackNavigationProperty: Property<PageBase, boolean>;
/**
 * Property backing androidStatusBarBackground.
 */
export declare const androidStatusBarBackgroundProperty: CssProperty<Style, Color>;
export {};
