import { AndroidFrame as AndroidFrameDefinition, BackstackEntry, NavigationTransition } from '.';
import { Page } from '../page';
import { Observable } from '../../data/observable';
import { FrameBase, NavigationType } from './frame-common';
import type { ExpandedEntry } from './fragment.transitions.android';
export * from './frame-common';
export { setFragmentClass } from './fragment';
export { moduleLoaded } from './callbacks/activity-callbacks';
export declare let attachStateChangeListener: android.view.View.OnAttachStateChangeListener;
export declare class Frame extends FrameBase {
    _originalBackground: any;
    private _android;
    private _containerViewId;
    private _tearDownPending;
    private _attachedToWindow;
    /**
     * This property indicates that the view is to be reused as a root view or has been previously disposed.
     */
    private _isReset;
    private _cachedTransitionState;
    private _frameCreateTimeout;
    constructor();
    static reloadPage(context?: ModuleContext): void;
    static get defaultAnimatedNavigation(): boolean;
    static set defaultAnimatedNavigation(value: boolean);
    static get defaultTransition(): NavigationTransition;
    static set defaultTransition(value: NavigationTransition);
    get containerViewId(): number;
    get android(): AndroidFrame;
    get _hasFragments(): boolean;
    _onAttachedToWindow(): void;
    _onDetachedFromWindow(): void;
    protected _processNextNavigationEntry(): void;
    _getChildFragmentManager(): any;
    _onRootViewReset(): void;
    onLoaded(): void;
    onUnloaded(): void;
    /**
     * TODO: Check if this fragment precaution is still needed
     */
    private _ensureEntryFragment;
    private disposeCurrentFragment;
    private createFragment;
    setCurrent(entry: BackstackEntry, navigationType: NavigationType): void;
    onBackPressed(): boolean;
    _navigateCore(newEntry: BackstackEntry): void;
    _goBackCore(backstackEntry: BackstackEntry & ExpandedEntry): void;
    _removeEntry(removed: BackstackEntry): void;
    protected _disposeBackstackEntry(entry: BackstackEntry): void;
    createNativeView(): org.nativescript.widgets.ContentLayout;
    initNativeView(): void;
    disposeNativeView(): void;
    _popFromFrameStack(): void;
    _getNavBarVisible(page: Page): boolean;
    _saveFragmentsState(): void;
}
export declare function reloadPage(context?: ModuleContext): void;
declare class AndroidFrame extends Observable implements AndroidFrameDefinition {
    rootViewGroup: android.view.ViewGroup;
    frameId: any;
    private _showActionBar;
    private _owner;
    constructor(owner: Frame);
    get showActionBar(): boolean;
    set showActionBar(value: boolean);
    get activity(): androidx.appcompat.app.AppCompatActivity;
    get actionBar(): android.app.ActionBar;
    get currentActivity(): androidx.appcompat.app.AppCompatActivity;
    get owner(): Frame;
    canGoBack(): boolean;
    fragmentForPage(entry: BackstackEntry): any;
}
export declare function getFrameByNumberId(frameId: number): Frame;
export declare function setActivityCallbacks(activity: androidx.appcompat.app.AppCompatActivity): void;
export declare function setFragmentCallbacks(fragment: androidx.fragment.app.Fragment): void;
