import type { AppConfig } from '@nuxt/schema';
import theme from '#build/b24ui/sidebar-layout';
import type { UseLoadingProps } from '../composables/useLoading';
import type { ComponentConfig } from '../types/tv';
type SidebarLayout = ComponentConfig<typeof theme, AppConfig, 'sidebarLayout'>;
export interface SidebarLayoutProps extends Pick<UseLoadingProps, 'id'> {
    /**
     * The element or component this component should render as.
     * @defaultValue 'div'
     */
    as?: any;
    /**
     * The content is placed on a light background.
     * @defaultValue 'true'
     */
    useLightContent?: boolean;
    /**
     * Set inner mode. Use in slider, modal and etc
     * @defaultValue 'false'
     */
    isInner?: boolean;
    /**
     * Off scrollbar control of the content area in inner mode.
     * @defaultValue 'false'
     */
    offContentScrollbar?: boolean;
    class?: any;
    b24ui?: SidebarLayout['slots'];
}
export interface SidebarLayoutSlots {
    /**
     * Left sidebar.
     * @param props
     * @param props.handleClick - Handler for navigation click events
     * @param props.isLoading - loading state
     * @param props.b24ui - b24ui
     */
    'sidebar'(props: {
        handleClick: () => void;
        isLoading: boolean;
        b24ui: SidebarLayout['b24ui'];
    }): any;
    /** Top menu. */
    'navbar'(props: {
        handleClick: () => void;
        isLoading: boolean;
        b24ui: SidebarLayout['b24ui'];
    }): any;
    /** Content above the page. Used for title, filter, etc. */
    'content-top': (props: {
        isLoading: boolean;
        b24ui: SidebarLayout['b24ui'];
    }) => any;
    /** Content above the page. Use for show actions. */
    'content-actions': (props: {
        isLoading: boolean;
        b24ui: SidebarLayout['b24ui'];
    }) => any;
    /** The page content. */
    'default'(props: {
        isLoading: boolean;
        b24ui: SidebarLayout['b24ui'];
    }): any;
    /** Right sidebar. */
    'content-right': (props: {
        isLoading: boolean;
        b24ui: SidebarLayout['b24ui'];
    }) => any;
    /** Content below the page. */
    'content-bottom': (props: {
        isLoading: boolean;
        b24ui: SidebarLayout['b24ui'];
    }) => any;
    /** Loading state. */
    'loading': (props: {
        isLoading: boolean;
        b24ui: SidebarLayout['b24ui'];
    }) => any;
}
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<SidebarLayoutProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<SidebarLayoutProps> & Readonly<{}>, {
    as: any;
    offContentScrollbar: boolean;
    useLightContent: boolean;
    isInner: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, SidebarLayoutSlots>;
declare const _default: typeof __VLS_export;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
