export type SafeAreaInsetsType = {
    top: number;
    left: number;
    bottom: number;
    right: number;
} | null;
export type SafeAreaChangedDelegateType = {
    onSafeAreaInsetsDidChangeEvent?: (insets: SafeAreaInsetsType) => void;
};
export declare const DEFAULT_INSETS: {
    top: number;
    left: number;
    bottom: number;
    right: number;
};
declare class SafeAreaInsetsManager {
    _defaultInsets: SafeAreaInsetsType;
    _safeAreaInsets: SafeAreaInsetsType;
    _safeAreaChangedDelegates: Array<SafeAreaChangedDelegateType>;
    _nativeModule: any;
    constructor();
    setupNativeConnection(): void;
    setupEventListener(): void;
    getInitialInsets(): Promise<void>;
    notifyDelegates(insets: SafeAreaInsetsType): void;
    _updateInsets(): Promise<void>;
    getSafeAreaInsets(): Promise<SafeAreaInsetsType>;
    addSafeAreaChangedDelegate(delegate: SafeAreaChangedDelegateType): void;
    removeSafeAreaChangedDelegate(delegateToRemove: SafeAreaChangedDelegateType): void;
    get defaultInsets(): SafeAreaInsetsType;
    refreshSafeAreaInsets(): Promise<void>;
}
declare const instance: SafeAreaInsetsManager;
export default instance;
