import type { LoaderPlugin } from '@scalar/json-magic/bundle';
import { type WorkspaceStore } from '@scalar/workspace-store/client';
import type { WorkspaceEventBus } from '@scalar/workspace-store/events';
/**
 * Command Palette Import Component
 *
 * Provides a form for importing API specifications from various sources:
 * - OpenAPI/Swagger documents (URL, file, or pasted JSON/YAML)
 * - Postman collections (URL, file, or pasted JSON)
 * - cURL commands (automatically redirects to cURL import command)
 *
 * Supports watch mode for URL imports to automatically update when content changes.
 *
 * @example
 * <CommandPaletteImport
 *   :workspaceStore="workspaceStore"
 *   @close="handleClose"
 *   @back="handleBack"
 *   @open-command="handleOpenCommand"
 * />
 *
 * @example Custom file upload button
 * <CommandPaletteImport
 *   :workspaceStore="workspaceStore"
 *   @close="handleClose">
 *   <template #fileUpload="{ import: importDocument }">
 *     <button @click="() => importDocument(source, 'file')">
 *       Custom Upload
 *     </button>
 *   </template>
 * </CommandPaletteImport>
 */
declare const _default: typeof __VLS_export;
export default _default;
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
    /** The workspace store for adding documents */
    workspaceStore: WorkspaceStore;
    /** Event bus for emitting operation creation events */
    eventBus: WorkspaceEventBus;
    /** Loader plugin for file import */
    fileLoader?: LoaderPlugin;
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
    close: () => any;
    back: (keyboardEvent: KeyboardEvent) => any;
}, string, import("vue").PublicProps, Readonly<{
    /** The workspace store for adding documents */
    workspaceStore: WorkspaceStore;
    /** Event bus for emitting operation creation events */
    eventBus: WorkspaceEventBus;
    /** Loader plugin for file import */
    fileLoader?: LoaderPlugin;
}> & Readonly<{
    onClose?: (() => any) | undefined;
    onBack?: ((keyboardEvent: KeyboardEvent) => any) | undefined;
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
    /** Slot for custom file upload component that can trigger import */
    fileUpload(props: {
        /** Function to trigger import with source content and type */
        import: (source: string, type: "file" | "raw") => Promise<void>;
    }): void;
}>;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
//# sourceMappingURL=CommandPaletteImport.vue.d.ts.map