import { ImageRequireSource, ImageSourcePropType, Insets, OpaqueColorValue } from 'react-native';
export declare type Color = string | symbol | ThemeColor | OpaqueColorValue | null;
type FontFamily = string;
type FontStyle = 'normal' | 'italic';
type FontWeightIOS = 'normal' | 'ultralight' | 'thin' | 'light' | 'regular' | 'medium' | 'semibold' | 'demibold' | 'extrabold' | 'ultrabold' | 'bold' | 'heavy' | 'black';
type FontWeight = 'normal' | 'bold' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' | FontWeightIOS;
export type LayoutOrientation = 'all' | 'default' | 'portrait' | 'landscape' | 'upsideDown' | 'sensor' | 'sensorLandscape' | 'sensorPortrait';
type AndroidDensityNumber = number;
export type SystemItemIcon = 'done' | 'cancel' | 'edit' | 'save' | 'add' | 'flexibleSpace' | 'fixedSpace' | 'compose' | 'reply' | 'action' | 'organize' | 'bookmarks' | 'search' | 'refresh' | 'stop' | 'camera' | 'trash' | 'play' | 'pause' | 'rewind' | 'fastForward' | 'undo' | 'redo';
export type Interpolation = {
    type: 'accelerate';
    factor?: number;
} | {
    type: 'decelerate';
    factor?: number;
} | {
    type: 'decelerateAccelerate';
} | {
    type: 'accelerateDecelerate';
} | {
    type: 'fastOutSlowIn';
} | {
    type: 'linear';
} | {
    type: 'overshoot';
    tension?: number;
} | {
    type: 'spring';
    mass?: number;
    damping?: number;
    stiffness?: number;
    allowsOverdamping?: boolean;
    initialVelocity?: number;
};
interface ThemeColor {
    light?: string | symbol;
    dark?: string | symbol;
}
export interface OptionsSplitView {
    /**
     * Master view display mode
     * @default 'auto'
     */
    displayMode?: 'auto' | 'visible' | 'hidden' | 'overlay';
    /**
     * Master view side. Leading is left. Trailing is right.
     * @default 'leading'
     */
    primaryEdge?: 'leading' | 'trailing';
    /**
     * Set the minimum width of master view
     */
    minWidth?: number;
    /**
     * Set the maximum width of master view
     */
    maxWidth?: number;
    /**
     * Set background style of sidebar. Currently works for Mac Catalyst apps only.
     * @default 'none'
     */
    primaryBackgroundStyle?: 'none' | 'sidebar';
}
export interface OptionsStatusBar {
    /**
     * Set the status bar visibility
     * @default true
     */
    visible?: boolean;
    /**
     * Set the text color of the status bar
     * @default 'light'
     */
    style?: 'light' | 'dark';
    /**
     * Set the background color of the status bar
     * #### (Android specific)
     */
    backgroundColor?: Color;
    /**
     * Draw screen behind the status bar
     * #### (Android specific)
     */
    drawBehind?: boolean;
    /**
     * Allows the StatusBar to be translucent (blurred)
     * #### (Android specific)
     */
    translucent?: boolean;
    /**
     * Animate StatusBar style changes.
     * #### (iOS specific)
     */
    animate?: boolean;
    /**
     * Automatically hide the StatusBar when the TopBar hides.
     * #### (iOS specific)
     */
    hideWithTopBar?: boolean;
    /**
     * Blur content beneath the StatusBar.
     * #### (iOS specific)
     */
    blur?: boolean;
}
export interface OptionsLayout {
    fitSystemWindows?: boolean;
    /**
     * Set the screen background color
     */
    backgroundColor?: Color;
    /**
     * Set background color only for components, helps reduce overdraw if background color is set in default options.
     * #### (Android specific)
     */
    componentBackgroundColor?: Color;
    /**
     * Set the allowed orientations
     */
    orientation?: LayoutOrientation[];
    /**
     * Layout top margin
     * #### (Android specific)
     */
    topMargin?: number;
    /**
     * Set language direction.
     * only works with DefaultOptions
     */
    direction?: 'rtl' | 'ltr' | 'locale';
    /**
     * Controls the application's preferred home indicator auto-hiding.
     * #### (iOS specific)
     */
    autoHideHomeIndicator?: boolean;
    /**
     * Add insets to the top layout
     */
    insets?: Insets;
    /**
     * Resizes the layout when keyboard is visible
     * @default true
     * #### (Android specific)
     */
    adjustResize?: boolean;
}
export declare enum OptionsModalPresentationStyle {
    formSheet = "formSheet",
    pageSheet = "pageSheet",
    overFullScreen = "overFullScreen",
    overCurrentContext = "overCurrentContext",
    currentContext = "currentContext",
    popover = "popover",
    fullScreen = "fullScreen",
    none = "none"
}
export declare enum OptionsModalTransitionStyle {
    coverVertical = "coverVertical",
    crossDissolve = "crossDissolve",
    flipHorizontal = "flipHorizontal",
    partialCurl = "partialCurl"
}
export interface OptionsTopBarLargeTitle {
    /**
     * Enable large titles
     */
    visible?: boolean;
    /**
     * Set the font size of large title's text
     */
    fontSize?: number;
    /**
     * Set the color of large title's text
     */
    color?: Color;
    /**
     * Set the font family of the large title text
     */
    fontFamily?: FontFamily;
    /**
     * Set the font style of the large title text
     */
    fontStyle?: FontStyle;
    /**
     * Specifies font weight. The values 'normal' and 'bold' are supported
     * for most fonts. Not all fonts have a variant for each of the numeric
     * values, in that case the closest one is chosen.
     */
    fontWeight?: FontWeight;
}
export interface OptionsTopBarTitle {
    /**
     * Text to display in the title area
     */
    text?: string;
    /**
     * Font size
     */
    fontSize?: number;
    /**
     * Text color
     */
    color?: Color;
    /**
     * Set the font family for the title
     */
    fontFamily?: FontFamily;
    /**
     * Set the font style for the title
     */
    fontStyle?: FontStyle;
    /**
     * Specifies font weight. The values 'normal' and 'bold' are supported
     * for most fonts. Not all fonts have a variant for each of the numeric
     * values, in that case the closest one is chosen.
     */
    fontWeight?: FontWeight;
    /**
     * Custom component as the title view
     */
    component?: {
        /**
         * Component reference id, Auto generated if empty
         */
        id?: string;
        /**
         * Name of your component
         */
        name: string;
        /**
         * Set component alignment
         */
        alignment?: 'center' | 'fill';
        /**
         * Properties to pass down to the component
         */
        passProps?: object;
    };
    /**
     * Top Bar title height in densitiy pixels
     * #### (Android specific)
     */
    height?: number;
    /**
     * Title alignment
     * #### (Android specific)
     */
    alignment?: 'center' | 'fill';
}
export interface OptionsTopBarSubtitle {
    /**
     * Set subtitle text
     */
    text?: string;
    /**
     * Set subtitle font size
     */
    fontSize?: number;
    /**
     * Set subtitle color
     */
    color?: Color;
    /**
     * Set the font family for the subtitle
     */
    fontFamily?: FontFamily;
    /**
     * Set the font style for a text
     */
    fontStyle?: FontStyle;
    /**
     * Specifies font weight. The values 'normal' and 'bold' are supported
     * for most fonts. Not all fonts have a variant for each of the numeric
     * values, in that case the closest one is chosen.
     */
    fontWeight?: FontWeight;
    /**
     * Set subtitle alignment
     */
    alignment?: 'center';
}
export interface OptionsTopBarBackButton {
    /**
     * Overrides the text that's read by the screen reader when the user interacts with the back button
     * #### (Android specific)
     */
    accessibilityLabel?: string;
    /**
     * Button id for reference press event
     */
    id?: string;
    /**
     * Image to show as the back button
     */
    icon?: ImageResource;
    /**
     * SF Symbol to show as the back button
     * #### (iOS 13+ specific)
     */
    sfSymbol?: string;
    /**
     * Weither the back button is visible or not
     * @default true
     */
    visible?: boolean;
    /**
     * Set the back button title
     * #### (iOS specific)
     */
    title?: string;
    /**
     * Show title or just the icon
     * #### (iOS specific)
     */
    showTitle?: boolean;
    /**
     * Back button icon and text color
     */
    color?: Color;
    /**
     * Set subtitle font size
     */
    fontSize?: number;
    /**
     * Set the font family for the back button
     * #### (iOS specific)
     */
    fontFamily?: FontFamily;
    /**
     * Set the font style for a text
     */
    fontStyle?: FontStyle;
    /**
     * Specifies font weight. The values 'normal' and 'bold' are supported
     * for most fonts. Not all fonts have a variant for each of the numeric
     * values, in that case the closest one is chosen.
     */
    fontWeight?: FontWeight;
    /**
     * Set icon background style
     */
    iconBackground?: IconBackgroundOptions;
    /**
     * Set testID for reference in E2E tests
     */
    testID?: string;
    /**
     * Enables iOS 14 back button menu display
     * #### (iOS specific)
     * @default true
     */
    enableMenu?: boolean;
    /**
     * Allows the NavBar to be translucent (blurred)
     * #### (iOS specific)
     */
    displayMode?: 'default' | 'generic' | 'minimal';
    /**
     * Controls whether the default back button should pop the Stack or not
     * @default true
     */
    popStackOnPress?: boolean;
}
export interface HardwareBackButtonOptions {
    /**
     * Controls whether the hardware back button should dismiss modal or not
     * #### (Android specific)
     * @default true
     */
    dismissModalOnPress?: boolean;
    /**
     * Controls whether the hardware back button should pop the Stack or not
     * #### (Android specific)
     * @default true
     */
    popStackOnPress?: boolean;
    /**
     * Controls hardware back button bottom tab selection behaviour
     */
    bottomTabsOnPress?: 'exit' | 'first' | 'previous';
}
export interface OptionsTopBarScrollEdgeAppearanceBackground {
    /**
     * Background color of the top bar
     */
    color?: Color;
    /**
     * Allows the NavBar to be translucent (blurred)
     * #### (iOS specific)
     */
    translucent?: boolean;
}
export interface OptionsTopBarScrollEdgeAppearanceTitle {
    /**
     * Font size
     */
    fontSize?: number;
    /**
     * Text color
     */
    color?: Color;
    /**
     * Set the font family for the title
     */
    fontFamily?: FontFamily;
    /**
     * Set the font style for the title
     */
    fontStyle?: FontStyle;
    /**
     * Specifies font weight. The values 'normal' and 'bold' are supported
     * for most fonts. Not all fonts have a variant for each of the numeric
     * values, in that case the closest one is chosen.
     */
    fontWeight?: FontWeight;
}
export interface OptionsTopBarScrollEdgeAppearance {
    /**
     * Title configuration applied when the scroll view reaches the edge
     * ### (iOS specific)
     */
    title?: OptionsTopBarScrollEdgeAppearanceTitle;
    background?: OptionsTopBarScrollEdgeAppearanceBackground;
    active: boolean;
    /**
     * Disable the border on bottom of the navbar
     * #### (iOS specific)
     * @default false
     */
    noBorder?: boolean;
    /**
     * Change the navbar border color
     */
    borderColor?: Color;
}
export interface OptionsTopBarBackground {
    /**
     * Background color of the top bar
     */
    color?: Color;
    /**
     * Clip the top bar background to bounds if set to true.
     * #### (iOS specific)
     */
    clipToBounds?: boolean;
    /**
     * Set a custom component for the Top Bar background
     */
    component?: {
        name?: string;
        /**
         * Properties to pass down to the component
         */
        passProps?: object;
    };
    /**
     * Allows the NavBar to be translucent (blurred)
     * #### (iOS specific)
     */
    translucent?: boolean;
    /**
     * Enable background blur
     * #### (iOS specific)
     */
    blur?: boolean;
}
export interface OptionsTopBarButton {
    /**
     * (Android only) Sets a textual button to be ALL CAPS. default value is true
     */
    allCaps?: boolean;
    /**
     * Button id for reference press event
     */
    id: string;
    /**
     * Set the button icon
     */
    icon?: ImageResource;
    /**
     * Set the SF symbol as icon (will be used primarily)
     * #### (iOS 13+ specific)
     */
    sfSymbol?: string;
    /**
     * Set the button icon insets
     */
    iconInsets?: IconInsets;
    /**
     * Set the button as a custom component
     */
    component?: {
        /**
         * Component reference id, Auto generated if empty
         */
        id?: string;
        /**
         * Name of your component
         */
        name: string;
        /**
         * Properties to pass down to the component
         */
        passProps?: object;
        /**
         * (Android only) component width
         */
        width?: number;
        /**
         * (Android only) component height
         */
        height?: number;
    };
    /**
     * (iOS only) Set the button as an iOS system icon
     */
    systemItem?: SystemItemIcon;
    /**
     * Set the button text
     */
    text?: string;
    /**
     * Overrides the text that's read by the screen reader when the user interacts with the element
     */
    accessibilityLabel?: string;
    /**
     * Set the font family for the button's text
     */
    fontFamily?: FontFamily;
    /**
     * Set the font style for the button's text
     */
    fontStyle?: FontStyle;
    /**
     * Specifies font weight. The values 'normal' and 'bold' are supported
     * for most fonts. Not all fonts have a variant for each of the numeric
     * values, in that case the closest one is chosen.
     */
    fontWeight?: FontWeight;
    /**
     * Set the font size in dp
     */
    fontSize?: number;
    /**
     * Set the button enabled or disabled
     * @default true
     */
    enabled?: boolean;
    /**
     * Disable icon tinting
     */
    disableIconTint?: boolean;
    /**
     * Set text color
     */
    color?: Color;
    /**
     * Set text color in disabled state
     */
    disabledColor?: Color;
    /**
     * Set icon background style
     */
    iconBackground?: IconBackgroundOptions;
    /**
     * Set testID for reference in E2E tests
     */
    testID?: string;
    /**
     * (Android only) Set showAsAction value
     * @see {@link https://developer.android.com/guide/topics/resources/menu-resource|Android developer guide: Menu resource}
     */
    showAsAction?: 'ifRoom' | 'withText' | 'always' | 'never';
}
export interface OptionsSearchBar {
    visible?: boolean;
    focus?: boolean;
    hideOnScroll?: boolean;
    hideTopBarOnFocus?: boolean;
    obscuresBackgroundDuringPresentation?: boolean;
    backgroundColor?: Color;
    tintColor?: Color;
    placeholder?: string;
    cancelText?: string;
    /**
     * iOS 26+ only. Controls where the search bar is placed.
     * - 'stacked': Below the navigation bar title (default, legacy behavior)
     * - 'integrated': Inside the navigation bar
     */
    placement?: 'stacked' | 'integrated';
}
export interface OptionsTopBar {
    /**
     * Show or hide the top bar
     */
    visible?: boolean;
    /**
     * Controls whether TopBar visibility changes should be animated
     */
    animate?: boolean;
    /**
     * Top bar will hide and show based on users scroll direction
     */
    hideOnScroll?: boolean;
    /**
     * Change button colors in the top bar
     */
    leftButtonColor?: Color;
    rightButtonColor?: Color;
    leftButtonBackgroundColor?: Color;
    rightButtonBackgroundColor?: Color;
    leftButtonDisabledColor?: Color;
    rightButtonDisabledColor?: Color;
    /**
     * Draw behind the navbar
     */
    drawBehind?: boolean;
    /**
     * Can be used to reference the top bar in E2E tests
     */
    testID?: string;
    /**
     * Title configuration
     */
    title?: OptionsTopBarTitle;
    /**
     * Subtitle configuration
     */
    subtitle?: OptionsTopBarSubtitle;
    /**
     * Back button configuration
     */
    backButton?: OptionsTopBarBackButton;
    /**
     * List of buttons to the left
     */
    leftButtons?: OptionsTopBarButton[];
    /**
     * List of buttons to the right
     */
    rightButtons?: OptionsTopBarButton[];
    /**
     * Background configuration
     */
    background?: OptionsTopBarBackground;
    /**
     *
     */
    scrollEdgeAppearance?: OptionsTopBarScrollEdgeAppearance;
    /**
     * Control the NavBar blur style
     * #### (iOS specific)
     * @requires translucent: true
     * @default 'default'
     */
    barStyle?: 'default' | 'black';
    /**
     * Disable the border on bottom of the navbar
     * #### (iOS specific)
     * @default false
     */
    noBorder?: boolean;
    /**
     * Show a UISearchBar in the Top Bar
     * #### (iOS 11+ specific)
     */
    searchBar?: OptionsSearchBar;
    /**
     * Hides the UISearchBar when scrolling
     * #### (iOS 11+ specific)
     */
    searchBarHiddenWhenScrolling?: boolean;
    /**
     * The placeholder value in the UISearchBar
     * #### (iOS 11+ specific)
     */
    searchBarPlaceholder?: string;
    /**
     * The background color of the UISearchBar's TextField
     * #### (iOS 13+ specific)
     */
    searchBarBackgroundColor?: string;
    /**
     * The tint color of the UISearchBar
     * #### (iOS 11+ specific)
     */
    searchBarTintColor?: string;
    /**
     * Controls Hiding NavBar on focus UISearchBar
     * #### (iOS 11+ specific)
     */
    hideNavBarOnFocusSearchBar?: boolean;
    /**
     * Control the Large Title configuration
     * #### (iOS 11+ specific)
     */
    largeTitle?: OptionsTopBarLargeTitle;
    /**
     * Set the height of the navbar in dp
     * #### (Android specific)
     */
    height?: AndroidDensityNumber;
    /**
     * Change the navbar border color
     */
    borderColor?: Color;
    /**
     * Set the border height of the navbar in dp
     * #### (Android specific)
     */
    borderHeight?: AndroidDensityNumber;
    /**
     * Set the elevation of the navbar in dp
     * #### (Android specific)
     */
    elevation?: AndroidDensityNumber;
    /**
     * Layout top margin
     * #### (Android specific)
     */
    topMargin?: number;
    /**
     * Toggles animation on left buttons bar upon changes
     */
    animateLeftButtons?: boolean;
    /**
     * Toggles animation on right buttons bar upon changes
     */
    animateRightButtons?: boolean;
}
export interface SharedElementTransition {
    fromId: string;
    toId: string;
    duration?: number;
    interpolation?: Interpolation;
}
export interface ElementTransition {
    id: string;
    alpha?: AppearingElementAnimation | DisappearingElementAnimation;
    translationX?: AppearingElementAnimation | DisappearingElementAnimation;
    translationY?: AppearingElementAnimation | DisappearingElementAnimation;
    scaleX?: AppearingElementAnimation | DisappearingElementAnimation;
    scaleY?: AppearingElementAnimation | DisappearingElementAnimation;
    rotationX?: AppearingElementAnimation | DisappearingElementAnimation;
    rotationY?: AppearingElementAnimation | DisappearingElementAnimation;
    x?: AppearingElementAnimation | DisappearingElementAnimation;
    y?: AppearingElementAnimation | DisappearingElementAnimation;
}
export interface AppearingElementAnimation extends ElementAnimation {
    from: number;
}
export interface DisappearingElementAnimation extends ElementAnimation {
    to: number;
}
export interface ElementAnimation {
    duration: number;
    startDelay?: number;
    interpolation?: Interpolation;
}
export interface OptionsFab {
    id: string;
    backgroundColor?: Color;
    clickColor?: Color;
    rippleColor?: Color;
    visible?: boolean;
    icon?: ImageResource;
    iconColor?: Color;
    alignHorizontally?: 'left' | 'right';
    hideOnScroll?: boolean;
    size?: 'mini' | 'regular';
}
export interface OptionsBottomTabs {
    /**
     * Show or hide the bottom tabs
     */
    visible?: boolean;
    /**
     * Enable animations when toggling visibility
     */
    animate?: boolean;
    /**
     * Controls whether tab selection is animated or not
     * #### (android specific)
     * @default true
     */
    animateTabSelection?: boolean;
    /**
     * Use large icons when possible, even when three tabs without titles are displayed
     * #### (android specific)
     * @default false
     */
    preferLargeIcons?: boolean;
    /**
     * Switch to another screen within the bottom tabs via index (starting from 0)
     */
    currentTabIndex?: number;
    /**
     * Switch to another screen within the bottom tabs via screen name
     */
    currentTabId?: string;
    /**
     * Set a testID to reference the bottom tabs
     */
    testID?: string;
    /**
     * Overrides the text that's read by the screen reader when the user interacts with the element
     * #### (iOS specific)
     */
    accessibilityLabel?: string;
    /**
     * Draw screen component under the tab bar
     */
    drawBehind?: boolean;
    /**
     * Set a background color for the bottom tabs.<br/>
     * On Android - also applicable when translucence is applied, but a semi-transparent
     * color should be used (e.g. `rgba(255, 0, 0, 0.25)`).
     */
    backgroundColor?: Color;
    /**
     * Set when tabs are attached to hierarchy consequently when the
     * RootView's constructor is called.
     */
    tabsAttachMode?: 'together' | 'afterInitialTab' | 'onSwitchToTab';
    /**
     * Control the Bottom Tabs blur style
     * #### (iOS specific)
     * @requires translucent: true
     * @default 'default'
     */
    barStyle?: 'default' | 'black';
    /**
     * Control the way the bottom tabs are laid out.
     * - `stretch`: Fill the entire width of the screen.
     * - `compact`: Occupy the minimum width needed to hold tab buttons. Recommended for
     * usage in conjunction with `drawBehind: true`.
     *
     * #### (Android specific)
     * @default 'stretch'
     */
    layoutStyle?: 'stretch' | 'compact';
    /**
     * Specify a corner-radius (in dip) in order to apply round corners to the tabs container.<br/>
     * Mainly suitable when used in conjunction with `layoutStyle: 'compact'`
     * #### (Android specific)
     */
    cornerRadius?: AndroidDensityNumber;
    /**
     * Bottom-margin to set in order to apply a "hover" effect.
     * Works best when used in conjunction with `layoutStyle: 'compact'` and `drawBehind: true`.
     * #### (Android specific)
     */
    bottomMargin?: AndroidDensityNumber;
    /**
     * Allows the bottom tabs to be translucent (blurred). Doesn't necessarily play
     * nice with shadow effects on Android.
     * #### Android: experimental, turn on using native toggle `TAB_BAR_TRANSLUCENCE`.
     */
    translucent?: boolean;
    /**
     * Set a custom radius to be used in the blur effect. Higher is blurrier, but
     * also more CPU-intensive.<br/>
     * Note: The blurring is performed following a bitmap downscale of x4.0, so
     * ultimately the actual radius is (4*blurRadius).
     * #### (Android specific)
     * @defaultValue 1.0
     */
    blurRadius?: AndroidDensityNumber;
    /**
     * Hide the top line of the Tab Bar
     * #### (iOS specific)
     */
    hideShadow?: boolean;
    /**
     * Control the text display mode below the tab icon
     * #### (Android specific)
     */
    titleDisplayMode?: 'alwaysShow' | 'showWhenActive' | 'alwaysHide' | 'showWhenActiveForce';
    /**
     * Set the elevation of the Bottom Tabs in dp
     * #### (Android specific)
     */
    elevation?: AndroidDensityNumber;
    /**
     * Hides the BottomTabs on scroll to increase the amount of content visible to the user.
     * The options requires that the scrollable view will be the root view of the screen and that it specifies `nestedScrollEnabled: true`.
     * #### (Android specific)
     */
    hideOnScroll?: boolean;
    /**
     * Control the top border color of the Bottom tabs bar
     */
    borderColor?: Color;
    /**
     * Control the top border width of the Bottom tabs bar
     */
    borderWidth?: number;
    /**
     * Control the shadow of the Bottom tabs bar
     */
    shadow?: ShadowOptions;
}
export interface ShadowOptions {
    /**
     * The opacity of the shadow
     */
    opacity?: number;
    /**
     * The color of the shadow
     */
    color?: Color;
    /**
     * The blur radius used to create the shadow
     */
    radius?: number;
}
export interface DotIndicatorOptions {
    color?: Color;
    size?: number;
    visible?: boolean;
}
export interface ImageSystemSource {
    system: string;
    fallback?: ImageRequireSource | string;
}
export type ImageResource = ImageSourcePropType | string | ImageSystemSource;
export interface OptionsBottomTab {
    dotIndicator?: DotIndicatorOptions;
    /**
     * Set the text to display below the icon
     */
    text?: string;
    /**
     * Set the text in a badge that is overlayed over the component
     */
    badge?: string;
    /**
     * Set the background color of the badge that is overlayed over the component
     */
    badgeColor?: Color;
    /**
     * Show the badge with the animation.
     * #### (Android specific)
     */
    animateBadge?: boolean;
    /**
     * Set a testID to reference the tab in E2E tests
     */
    testID?: string;
    /**
     * Set the tab icon
     */
    icon?: ImageResource;
    /**
     * Set the icon tint
     */
    iconColor?: Color;
    /**
     * Set the icon width
     * #### (Android specific)
     */
    iconWidth?: number;
    /**
     * Set the icon height
     * #### (Android specific)
     */
    iconHeight?: number;
    /**
     * Set the text color
     */
    textColor?: Color;
    /**
     * Set the selected icon tint
     */
    selectedIconColor?: Color;
    /**
     * Set the selected text color
     */
    selectedTextColor?: Color;
    /**
     * Set the font family for the tab's text
     */
    fontFamily?: FontFamily;
    /**
     * Set the font style for the tab's text
     */
    fontStyle?: FontStyle;
    /**
     * Specifies font weight. The values 'normal' and 'bold' are supported
     * for most fonts. Not all fonts have a variant for each of the numeric
     * values, in that case the closest one is chosen.
     */
    fontWeight?: FontWeight;
    /**
     * Set the text font size
     */
    fontSize?: number;
    /**
     * Set the insets of the icon
     */
    iconInsets?: Insets;
    /**
     * Set selected icon image
     * #### (iOS specific)
     */
    selectedIcon?: ImageResource;
    /**
     * Set true if you want to disable the icon tinting
     * #### (iOS specific)
     */
    disableIconTint?: boolean;
    /**
     * Set true if you want to disable the text tinting
     * #### (iOS specific)
     */
    disableSelectedIconTint?: boolean;
    /**
     * Set the font size for selected tabs
     * #### (Android specific)
     */
    selectedFontSize?: number;
    /**
     * If it's set to false, pressing a tab won't select the tab
     * instead it will emit a bottomTabPressedEvent
     */
    selectTabOnPress?: boolean;
    /**
     * Pop to root of stack by tapping on already selected tab
     * #### (Android specific)
     */
    popToRoot?: boolean;
    /**
     * Set the SF symbol as icon (will be used primarily)
     * #### (iOS 13+ specific)
     */
    sfSymbol?: string;
    /**
     * Set the SF symbol as selected icon (will be used primarily)
     * #### (iOS 13+ specific)
     */
    sfSelectedSymbol?: string;
}
export interface SideMenuSide {
    /**
     * Show or hide the side menu
     */
    visible?: boolean;
    /**
     * Enable or disable the side menu
     */
    enabled?: boolean;
    /**
     * Set the width of the side menu
     */
    width?: number;
    /**
     * Set the height of the side menu
     */
    height?: number;
    /**
     * Stretch sideMenu contents when opened past the width
     *
     * **Not applicable when `openMode` is `aboveContent`**
     *
     * #### (iOS specific)
     * @default true
     */
    shouldStretchDrawer?: boolean;
    /**
     * Configure the opening mode of the side menu
     * #### (iOS specific)
     * @default 'pushContent'
     */
    openMode?: 'pushContent' | 'aboveContent';
}
export interface OptionsSideMenu {
    /**
     * Configure the left side menu
     */
    left?: SideMenuSide;
    /**
     * Configure the right side menu
     */
    right?: SideMenuSide;
    /**
     * Configure how a user is allowed to open a drawer using gestures
     * #### (iOS specific)
     * @default 'entireScreen'
     */
    openGestureMode?: 'entireScreen' | 'bezel';
}
export interface OverlayOptions {
    /**
     * Capture touches outside of the Component View
     */
    interceptTouchOutside?: boolean;
    /**
     * Control whether this Overlay should handle Keyboard events.
     * Set this to true if your Overlay contains a TextInput.
     */
    handleKeyboardEvents?: boolean;
}
export interface ModalOptions {
    /**
     * Control whether this modal should be dismiss using swipe gesture when the modalPresentationStyle = 'pageSheet'
     * #### (iOS specific)
     */
    swipeToDismiss?: boolean;
}
export interface OptionsPreviewAction {
    /**
     * Reference ID to get callbacks from
     */
    id: string;
    /**
     * Action text
     */
    title: string;
    /**
     * Action style
     */
    style?: 'default' | 'selected' | 'destructive';
    /**
     * Subactions that will be shown when this action is pressed.
     */
    actions?: OptionsPreviewAction[];
}
export interface OptionsPreview {
    /**
     * Pass a react node tag to mark a SourceRect for a specific
     * peek and pop preview element.
     */
    reactTag?: number;
    /**
     * You can set this property specify the width of the preview.
     * If the width is greater than the device width, it will be zoomed in.
     */
    width?: number;
    /**
     * Height of the preview
     */
    height?: number;
    /**
     * You can control if the users gesture will result in pushing
     * the preview screen into the stack.
     */
    commit?: boolean;
    /**
     * List of actions that will appear underneath the preview window.
     * They can be nested for sub actions.
     */
    actions?: OptionsPreviewAction[];
}
export interface OptionsAnimationPropertyConfig {
    /**
     * Animate from this value, ex. 0
     */
    from?: number;
    /**
     * Animate to this value, ex. 1
     */
    to?: number;
    /**
     * Animation duration
     * @default 300
     */
    duration?: number;
    /**
     * Animation delay
     * @default 0
     */
    startDelay?: number;
    /**
     * Animation interplation
     */
    interpolation?: Interpolation;
}
/**
 * Used to animate the actual content added to the hierarchy.
 * Content can be a React component (component) or any other layout (Stack, BottomTabs etc)
 */
export interface ScreenAnimationOptions {
    /**
     * Animate the element over x value
     */
    x?: OptionsAnimationPropertyConfig;
    /**
     * Animate the element over y value
     */
    y?: OptionsAnimationPropertyConfig;
    /**
     * Animate the element over translateX
     */
    translationX?: OptionsAnimationPropertyConfig;
    /**
     * Animate the element over translateY
     */
    translationY?: OptionsAnimationPropertyConfig;
    /**
     * Animate the element over opacity
     */
    alpha?: OptionsAnimationPropertyConfig;
    /**
     * Animate the element over scaleX
     */
    scaleX?: OptionsAnimationPropertyConfig;
    /**
     * Animate the element over scaleY
     */
    scaleY?: OptionsAnimationPropertyConfig;
    /**
     * Animate the element over rotationX
     */
    rotationX?: OptionsAnimationPropertyConfig;
    /**
     * Animate the element over rotationY
     */
    rotationY?: OptionsAnimationPropertyConfig;
    /**
     * Animate the element over rotation
     */
    rotation?: OptionsAnimationPropertyConfig;
    /**
     * Wait for the root view to render before start animation
     */
    waitForRender?: boolean;
    /**
     * Enable or disable the animation
     * @default true
     */
    enabled?: boolean;
}
export interface IconInsets {
    /**
     * Configure top inset
     */
    top?: number;
    /**
     * Configure left inset
     */
    left?: number;
    /**
     * Configure bottom inset
     */
    bottom?: number;
    /**
     * Configure right inset
     */
    right?: number;
}
export interface ColorAnimationOptions {
    /**
     * Color duration time; Default is as determined by the OS
     */
    duration?: number;
}
export interface ViewAnimationOptions extends ScreenAnimationOptions {
    /**
     * ID of the Top Bar we want to animate
     */
    id?: string;
}
export interface TopBarAnimationOptions extends ViewAnimationOptions {
    /**
     * Animation of the top-bar's background color, in case the top-bar background color
     * has been explicitly specified.
     *
     * Applicable only in transition of screens with color (non-component) backgrounds.
     */
    bkgColor?: ColorAnimationOptions;
}
export interface StatusBarAnimationOptions extends ViewAnimationOptions {
    /**
     * Animation of the status-bar's background color, in case its background color
     * has been explicitly specified.
     */
    bkgColor?: ColorAnimationOptions;
}
export interface EnterExitAnimationOptions {
    /**
     * Animate opening component
     */
    enter?: ViewAnimationOptions;
    /**
     * Animate closing component
     */
    exit?: ViewAnimationOptions;
}
export interface OldModalAnimationOptions extends ViewAnimationOptions {
    /**
     * Animations to be applied on elements which are shared between the appearing and disappearing screens
     */
    sharedElementTransitions?: SharedElementTransition[];
    /**
     * Animations to be applied on views in the appearing or disappearing screens
     */
    elementTransitions?: ElementTransition[];
}
export interface ModalAnimationOptions {
    /**
     * Animate opening modal
     */
    enter?: ViewAnimationOptions;
    /**
     * Animate closing modal
     */
    exit?: ViewAnimationOptions;
    /**
     * Animations to be applied on elements which are shared between the appearing and disappearing screens
     */
    sharedElementTransitions?: SharedElementTransition[];
    /**
     * Animations to be applied on views in the appearing or disappearing screens
     */
    elementTransitions?: ElementTransition[];
}
/**
 * Used for describing stack commands animations.
 */
export interface StackAnimationOptions {
    /**
     * Wait for the View to render before start animation
     */
    waitForRender?: boolean;
    /**
     * Enable or disable the animation
     * @default true
     */
    enabled?: boolean;
    /**
     * Configure animations for the top bar
     */
    topBar?: TopBarAnimationOptions | {
        enter?: TopBarAnimationOptions;
        exit?: TopBarAnimationOptions;
    };
    /**
     * Configure animations for the status bar (typically aligned
     * with the top-bar's)
     */
    statusBar?: StatusBarAnimationOptions | {
        enter?: StatusBarAnimationOptions;
        exit?: StatusBarAnimationOptions;
    };
    /**
     * Configure animations for the bottom tabs
     */
    bottomTabs?: ViewAnimationOptions | {
        enter?: ViewAnimationOptions;
        exit?: ViewAnimationOptions;
    };
    /**
     * Configure animations for the content (Screen)
     */
    content?: ViewAnimationOptions | {
        enter?: ViewAnimationOptions;
        exit?: ViewAnimationOptions;
    };
    /**
     * Animations to be applied on elements which are shared between the appearing and disappearing screens
     */
    sharedElementTransitions?: SharedElementTransition[];
    /**
     * Animations to be applied on views in the appearing or disappearing screens
     */
    elementTransitions?: ElementTransition[];
}
/**
 * Used for configuring command animations
 */
export interface AnimationOptions {
    /**
     * Configure the setStackRoot animation
     */
    setStackRoot?: ViewAnimationOptions | StackAnimationOptions;
    /**
     * Configure the setRoot animation
     */
    setRoot?: ViewAnimationOptions | EnterExitAnimationOptions;
    /**
     * Configure the animation of the pushed screen
     * #### (Android specific)
     */
    push?: StackAnimationOptions;
    /**
     * Configure what animates when a screen is popped
     */
    pop?: StackAnimationOptions;
    /**
     * Configure what animates when modal is shown
     */
    showModal?: OldModalAnimationOptions | ModalAnimationOptions;
    /**
     * Configure what animates when modal is dismissed
     */
    dismissModal?: OldModalAnimationOptions | ModalAnimationOptions;
}
/**
 * Configure Android's NavigationBar
 */
export interface NavigationBarOptions {
    backgroundColor?: Color;
    visible?: boolean;
}
/**
 * Used for configuring and controlling the main window in iOS
 */
export interface WindowOptions {
    /**
     * Configure the background color of the application's main window.
     */
    backgroundColor?: Color;
}
export interface IconBackgroundOptions {
    /**
     * Set background color
     */
    color: Color;
    /**
     * Set background color on disabled state
     */
    disabledColor?: Color;
    /**
     * Set corner radius
     */
    cornerRadius?: number;
    /**
     * Set width
     */
    width?: number;
    /**
     * Set height
     */
    height?: number;
}
export interface Options {
    /**
     * Configure the status bar
     */
    statusBar?: OptionsStatusBar;
    /**
     * Configure the layout
     */
    layout?: OptionsLayout;
    /**
     * Configure the presentation style of the modal
     */
    modalPresentationStyle?: OptionsModalPresentationStyle;
    /**
     * Configure the transition style of the modal
     *
     * #### (Android specific)
     */
    modalTransitionStyle?: OptionsModalTransitionStyle;
    /**
     * Configure the top bar
     */
    topBar?: OptionsTopBar;
    fab?: OptionsFab;
    /**
     * Configure the bottom tabs
     */
    bottomTabs?: OptionsBottomTabs;
    /**
     * Configure the bottom tab associated to the screen
     */
    bottomTab?: OptionsBottomTab;
    /**
     * Configure the side menu
     */
    sideMenu?: OptionsSideMenu;
    /**
     * Configure the splitView controller
     */
    splitView?: OptionsSplitView;
    /**
     * Configure the overlay
     */
    overlay?: OverlayOptions;
    /**
     * Configure the modal
     */
    modal?: ModalOptions;
    /**
     * Animation used for navigation commands that modify the layout
     * hierarchy can be controlled in options.
     *
     * Animations can be modified per command and it's also possible
     * to change the default animation for each command.
     *
     * Example:
  ```js
  setRoot: {
    y: {
      from: 1000,
      to: 0,
      duration: 500,
      interpolation: 'accelerate',
    },
    alpha: {
      from: 0,
      to: 1,
      duration: 400,
      startDelay: 100,
      interpolation: 'accelerate'
    }
  }
  ```
     */
    animations?: AnimationOptions;
    /**
     * Configure Android's NavigationBar
     */
    navigationBar?: NavigationBarOptions;
    /**
     * Android Hardware Back button configuration
     */
    hardwareBackButton?: HardwareBackButtonOptions;
    /**
     * Preview configuration for Peek and Pop
     * #### (iOS specific)
     */
    preview?: OptionsPreview;
    /**
     * Enable or disable swipe back to pop gesture
     * #### (iOS specific)
     * @default true
     */
    popGesture?: boolean;
    /**
     * Background image for the screen
     * #### (iOS specific)
     */
    backgroundImage?: ImageResource;
    /**
     * Background image for the Navigation View
     * #### (iOS specific)
     */
    rootBackgroundImage?: ImageResource;
    /**
     * Provides a way to configure the overall presentation of your application's main user interface
     * #### (iOS specific)
     */
    window?: WindowOptions;
    /**
     * Enable or disable automatically blurring focused input, dismissing keyboard on unmount
     * #### (Android specific)
     * @default false
     */
    blurOnUnmount?: boolean;
}
export {};
//# sourceMappingURL=Options.d.ts.map