import type { HTMLAttributes } from "svelte/elements";
import type { Snippet } from "svelte";
export type ConfigItemSourceLevel = "code" | "admin" | "user";
export type ConfigItem = {
id: string;
name: string;
key?: string;
description?: string | null;
/** Provenance : `code`/`admin` = système (verrouillé), `user` = personnalisé. */
sourceLevel: ConfigItemSourceLevel;
/** Identifiant du parent si l'item est une copie d'un défaut système. */
parentId?: string | null;
version?: number;
};
export type ConfigItemCardProps = Omit, "class"> & {
/** L'item de configuration décrit par la carte. */
item: ConfigItem;
/** Vrai si une copie de cet item système existe déjà : masque l'action Copier. */
hasCopy?: boolean;
/** Action Copier (items système uniquement). */
onCopy?: (id: string) => void;
/** Action Éditer (items copiés ou créés par l'utilisateur). */
onEdit?: (id: string) => void;
/** Action Réinitialiser (items copiés uniquement). */
onReset?: (id: string) => void;
/** Action Supprimer (items créés par l'utilisateur uniquement). */
onDelete?: (id: string) => void;
/** Désactive toutes les actions. */
disabled?: boolean;
class?: string;
/** Contenu supplémentaire sous la carte (formulaire d'édition, détails…). */
children?: Snippet;
};
declare const ConfigItemCard: import("svelte").Component;
type ConfigItemCard = ReturnType;
export default ConfigItemCard;
//# sourceMappingURL=ConfigItemCard.svelte.d.ts.map