import { LayoutCanvasStore } from "../../";
import { StateMutation } from "@omnia/fx/models";
import { LayoutItem, Section } from "../../../../models";
import { ThemingRenditionManager } from "../../";
import { VueComponentBase, ThemeStore } from "../../..";
import { BlockTitleSettingsStore, DirectionRuleStore } from "../../../../stores";
import { MediaPickerService } from "../../../../services";
export interface LayoutSectionProps {
    parentContainer: LayoutItem;
    section: Section;
    layoutId: string;
    useScrollMargingFix: boolean;
    tabState: object;
    overridable?: boolean;
}
export declare class LayoutSection extends VueComponentBase<LayoutSectionProps> {
    section: Section;
    parentContainer: LayoutItem;
    layoutId: string;
    useScrollMargingFix: boolean;
    tabState: object;
    overridable?: boolean;
    editorStore: LayoutCanvasStore;
    blockTitleSettingsStore: BlockTitleSettingsStore;
    mediaPickerService: MediaPickerService;
    themeStore: ThemeStore;
    directionRuleStore: DirectionRuleStore;
    themingRenditionManager: ThemingRenditionManager;
    private omniaUxLoc;
    private subscriptionHandler;
    private editorTheme;
    private model;
    created(): void;
    mounted(): void;
    private get backgroundImage();
    beforeDestroy(): void;
    /**
     * Eventhandler for mutation changes
     * @param mutation
     * @param state
     */
    onLayoutItemChange(mutation: StateMutation<LayoutItem>): void;
    /**
     * Eventhandler for layout item selection changes
     * @param item
     */
    private setItemSelection;
    /**
     * Event handler when section is selected
     * @param e
     */
    private onSectionSelected;
    private renderSectionTitle;
    private isActiveLayoutItemActionSection;
    private shouldHideSelectorWhenActiveLLayoutItemActions;
    /**
     * Renders the border selector
     * @param h
     */
    private renderBorderSelector;
    /**
    * Function to render the columns
    * @param h is the hyperscript reference
    */
    private createColumnMarkup;
    /**
    * Function to render the tabs
    * @param h is the hyperscript reference
    */
    private createTabMarkup;
    /**
    * Function to render the stepper
    * @param h is the hyperscript reference
    */
    private createStepperMarkup;
    /**
         * Renders the edit mode
         * @param h
         */
    private renderContentMode;
    private renderLayoutMode;
    /**
     * Render
     * @param h
     */
    render(): VueTsxSupport.JSX.Element;
}
