import React from 'react';
import { BaseComponentProps } from '../internal/base-component';
import { NonCancelableEventHandler } from '../internal/events';
export interface AppLayoutProps extends BaseComponentProps {
    contentType?: AppLayoutProps.ContentType;
    disableContentPaddings?: boolean;
    disableBodyScroll?: boolean;
    navigationOpen?: boolean;
    navigationWidth?: number;
    navigationHide?: boolean;
    toolsOpen?: boolean;
    toolsHide?: boolean;
    toolsWidth?: number;
    maxContentWidth?: number;
    minContentWidth?: number;
    stickyNotifications?: boolean;
    headerSelector?: string;
    footerSelector?: string;
    ariaLabels?: AppLayoutProps.Labels;
    navigation?: React.ReactNode;
    content?: React.ReactNode;
    tools?: React.ReactNode;
    notifications?: React.ReactNode;
    breadcrumbs?: React.ReactNode;
    onNavigationChange?: NonCancelableEventHandler<AppLayoutProps.ChangeDetail>;
    onToolsChange?: NonCancelableEventHandler<AppLayoutProps.ChangeDetail>;
}
export declare namespace AppLayoutProps {
    type ContentType = 'default' | 'form' | 'table' | 'cards' | 'wizard';
    interface Ref {
        closeNavigationIfNecessary(): void;
        openTools(): void;
    }
    interface Labels {
        notifications?: string;
        navigation?: string;
        navigationToggle?: string;
        navigationClose?: string;
        tools?: string;
        toolsToggle?: string;
        toolsClose?: string;
    }
    interface ChangeDetail {
        open: boolean;
    }
}
export declare type AppLayoutActiveElement = 'navigation-toggle' | 'navigation-close' | 'tools-toggle' | 'tools-close';
