import { type WorkspaceGroup } from '@scalar/components';
import type { SidebarState } from '@scalar/sidebar';
import type { WorkspaceStore } from '@scalar/workspace-store/client';
import type { WorkspaceEventBus } from '@scalar/workspace-store/events';
import type { TraversedEntry } from '@scalar/workspace-store/schemas/navigation';
import type { ClientLayout } from '@/v2/types/layout';
type __VLS_Props = {
    /**
     * The current layout of the app (e.g., 'desktop', 'web')
     */
    layout: ClientLayout;
    /**
     * The sidebar state, holding navigation items and state
     */
    sidebarState: SidebarState<TraversedEntry>;
    /**
     * Whether the workspace overview sidebar is currently open
     */
    isWorkspaceOpen?: boolean;
    /**
     * The currently active workspace.
     * This represents the workspace that the user is currently working in.
     */
    activeWorkspace: {
        id: string;
        label: string;
    };
    /**
     * The list of all available workspaces.
     * Used to render options for workspace switching and selection.
     */
    workspaces: WorkspaceGroup[];
    /**
     * The workspace event bus for handling workspace-level events.
     * Used for triggering and responding to workspace changes and actions.
     */
    eventBus: WorkspaceEventBus;
    /**
     * The WorkspaceStore instance for managing workspace state and actions.
     * Provides methods and state for interacting with the current workspace.
     */
    store: WorkspaceStore;
};
type __VLS_Slots = {
    /** Slot for customizing the actions section of the sidebar menu. */
    sidebarMenuActions?(): unknown;
};
type __VLS_ModelProps = {
    /** Controls the visibility of the sidebar */
    'isSidebarOpen': boolean;
    /** Controls the width of the sidebar */
    'sidebarWidth': number;
};
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "update:sidebarWidth": (value: number) => any;
    "update:isSidebarOpen": (value: boolean) => any;
} & {
    "create:workspace": () => any;
    "select:workspace": (id?: string | undefined) => any;
    selectItem: (id: string) => any;
    "click:workspace": () => any;
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
    "onCreate:workspace"?: (() => any) | undefined;
    "onSelect:workspace"?: ((id?: string | undefined) => any) | undefined;
    onSelectItem?: ((id: string) => any) | undefined;
    "onUpdate:sidebarWidth"?: ((value: number) => any) | undefined;
    "onClick:workspace"?: (() => any) | undefined;
    "onUpdate:isSidebarOpen"?: ((value: boolean) => any) | undefined;
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
declare const _default: typeof __VLS_export;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
//# sourceMappingURL=AppSidebar.vue.d.ts.map