import { LayoutBase } from '../layouts/layout-base';
import { View } from '../core/view';
import { Property } from '../core/properties';
export type SplitRole = 'primary' | 'secondary' | 'supplementary' | 'inspector';
export type SplitStyle = 'automatic' | 'double' | 'triple';
export type SplitDisplayMode = 'automatic' | 'secondaryOnly' | 'oneBesideSecondary' | 'oneOverSecondary' | 'twoBesideSecondary' | 'twoOverSecondary' | 'twoDisplaceSecondary';
export type SplitBehavior = 'automatic' | 'tile' | 'overlay' | 'displace';
export declare class SplitViewBase extends LayoutBase {
    /**
     * The display style for the split view controller.
     * Must be set before bootstrapping the app.
     */
    static SplitStyle: SplitStyle;
    static getInstance(): SplitViewBase | null;
    /** Child role (primary, secondary, supplementary, inspector) */
    splitRole: SplitRole;
    /** Preferred display mode */
    displayMode: SplitDisplayMode;
    /** Preferred split behavior (iOS 14+) */
    splitBehavior: SplitBehavior;
    /** Primary column width fraction (0..1) */
    preferredPrimaryColumnWidthFraction: number;
    /** Supplementary column width fraction (0..1, iOS 14+ triple) */
    preferredSupplementaryColumnWidthFraction: number;
    /** Inspector column width fraction (0..1, iOS 17+/18+ when Inspector column available) */
    preferredInspectorColumnWidthFraction: number;
    /**
     * Get child role (primary, secondary, supplementary, inspector)
     */
    static getRole(element: SplitViewBase): SplitRole;
    /**
     * Set child role (primary, secondary, supplementary, inspector)
     */
    static setRole(element: SplitViewBase, value: SplitRole): void;
    onRoleChanged(view: View, oldValue: SplitRole, newValue: SplitRole): void;
    showPrimary(): void;
    hidePrimary(): void;
    showSecondary(): void;
    hideSecondary(): void;
    showSupplementary(): void;
    hideSupplementary(): void;
    showInspector(): void;
    hideInspector(): void;
    protected _roleByIndex(index: number): SplitRole;
}
export declare const splitRoleProperty: Property<View, SplitRole>;
export declare const displayModeProperty: Property<SplitViewBase, SplitDisplayMode>;
export declare const splitBehaviorProperty: Property<SplitViewBase, SplitBehavior>;
export declare const preferredPrimaryColumnWidthFractionProperty: Property<SplitViewBase, number>;
export declare const preferredSupplementaryColumnWidthFractionProperty: Property<SplitViewBase, number>;
export declare const preferredInspectorColumnWidthFractionProperty: Property<SplitViewBase, number>;
