import type { ApplyResourceResult } from "./useApplyResource.js";
/** Props for {@link ImportResourceDialog}. */
export interface ImportResourceDialogProps {
    /** Whether the dialog is open. */
    readonly open: boolean;
    /** Called when the dialog should open or close. */
    readonly onOpenChange: (open: boolean) => void;
    /** Target organization slug to apply the imported resource to. */
    readonly org: string;
    /** Called after a successful import. Use for navigation or list refresh. */
    readonly onSuccess?: (result: ApplyResourceResult) => void;
}
/**
 * Modal dialog for importing a Stigmer resource from a YAML or JSON file.
 *
 * Workflow:
 * 1. User selects a `.yaml`, `.yml`, or `.json` file via the file picker
 * 2. The file is validated and a preview card shows the detected resource
 * 3. User confirms the import, which calls `apply()` on the target org
 * 4. On success: toast notification and `onSuccess` callback
 * 5. On error: inline error message with guidance
 *
 * Uses the native `<dialog>` element for built-in focus trapping, Escape
 * key handling, and backdrop — consistent with {@link ConfirmDialog}.
 *
 * Zero Console dependencies — safe for platform builder embedding.
 *
 * @example
 * ```tsx
 * const [open, setOpen] = useState(false);
 *
 * <ImportResourceDialog
 *   open={open}
 *   onOpenChange={setOpen}
 *   org={activeOrg}
 *   onSuccess={(result) => {
 *     router.push(`/library/${result.kind === "Agent" ? "agents" : "mcp-servers"}`);
 *   }}
 * />
 * ```
 */
export declare function ImportResourceDialog({ open, onOpenChange, org, onSuccess, }: ImportResourceDialogProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=ImportResourceDialog.d.ts.map