import type { Brand } from '../../core/src/index';
import type { SiteCommandCapabilityGapCode } from './capabilityGaps';
import type { SiteCommandType } from './commands';
import type { SiteCommandRef } from './refs';
export declare const commandScopes: readonly ["site", "style", "media", "page", "block", "navigation", "form", "footer", "content", "staff", "venue", "event_category", "event", "ticket", "course", "pass", "membership", "customer", "customer_pass", "customer_membership", "appointment", "course_enrollment", "event_registration", "pass_redemption", "order", "booking_settings", "appointment_service", "appointment_resource", "appointment_availability", "publish"];
export type CommandScope = (typeof commandScopes)[number];
export declare const commandRisks: readonly ["low", "medium", "high", "restricted"];
export type CommandRisk = (typeof commandRisks)[number];
export declare const writeSemantics: readonly ["upsert", "patch", "append", "replace", "delete", "order_transition", "status_transition"];
export type WriteSemantics = (typeof writeSemantics)[number];
export declare const lifecycleIntents: readonly ["mutation", "publish", "unpublish", "seed"];
export type LifecycleIntent = (typeof lifecycleIntents)[number];
export declare const idempotencyStrategies: readonly ["natural_key", "recipe_ref", "existing_id", "none"];
export type IdempotencyStrategy = (typeof idempotencyStrategies)[number];
export declare const conflictPolicies: readonly ["update_existing", "fail_if_exists", "append_once", "allow_duplicates"];
export type ConflictPolicy = (typeof conflictPolicies)[number];
export declare const commandPreviewabilities: readonly ["static_preview", "dry_run_only", "effect_required"];
export type CommandPreviewability = (typeof commandPreviewabilities)[number];
export declare const allowedRuntimes: readonly ["development", "staging", "demo", "production", "internal_only"];
export type AllowedRuntime = (typeof allowedRuntimes)[number];
export declare const intendedExposures: readonly ["recipe", "sdk_cli", "onboarding_planner", "ai_proposal", "internal_apply"];
export type IntendedExposure = (typeof intendedExposures)[number];
export declare const capabilityGapVerdicts: readonly ["supported", "needs_extension", "needs_new_surface", "v1_informational_fallback", "unknown"];
export type CapabilityGapVerdict = (typeof capabilityGapVerdicts)[number];
export type SiteCommandIdempotencyKey = Brand<string, 'SiteCommandIdempotencyKey'>;
export type SiteCommandResourceId = Brand<string, 'SiteCommandResourceId'>;
export type SiteCommandResourceIds = Readonly<Record<string, SiteCommandResourceId>>;
export declare const unsafeAsSiteCommandIdempotencyKey: (value: string) => SiteCommandIdempotencyKey;
export declare const unsafeAsSiteCommandResourceId: (value: string) => SiteCommandResourceId;
export type SiteCommandSemanticMetadata = Readonly<{
    scope: CommandScope;
    risk: CommandRisk;
    writeSemantics: WriteSemantics;
    lifecycleIntent: LifecycleIntent;
    idempotencyStrategy: IdempotencyStrategy;
    conflictPolicy: ConflictPolicy;
    previewability: CommandPreviewability;
}>;
export type SiteCommandConsumerPolicy = Readonly<{
    allowedRuntimes: readonly AllowedRuntime[];
    intendedExposure: readonly IntendedExposure[];
    capability: string;
    support: CapabilityGapVerdict;
}>;
export type SiteCommandMetadata = SiteCommandSemanticMetadata & SiteCommandConsumerPolicy;
export type SiteCommandCapabilityGap = Readonly<{
    commandRef: SiteCommandRef;
    commandType: SiteCommandType;
    coverage: CapabilityGapVerdict;
    code: SiteCommandCapabilityGapCode;
    message: string;
}>;
export type SiteCommandValidationError = Readonly<{
    code: 'unknown_command_type';
    commandIndex: number;
    commandType: string;
    message: string;
}> | Readonly<{
    code: 'invalid_command_payload';
    commandIndex: number;
    commandType: string | null;
    field: string;
    message: string;
}> | Readonly<{
    code: 'duplicate_command_ref';
    commandRef: string;
    message: string;
}> | Readonly<{
    code: 'duplicate_resource_ref';
    resourceRef: string;
    message: string;
}> | Readonly<{
    code: 'missing_ref';
    commandRef: string;
    field: string;
    missingRef: string;
    message: string;
}> | Readonly<{
    code: 'command_invariant_violation';
    commandRef: SiteCommandRef | string;
    field: string;
    message: string;
}> | Readonly<{
    code: 'unsupported_command_type_for_plan';
    commandRef: SiteCommandRef | string;
    commandType: SiteCommandType;
    message: string;
}> | Readonly<{
    code: 'invalid_ref_format';
    commandRef: string | null;
    field: string;
    ref: string;
    message: string;
}> | Readonly<{
    code: 'unknown_resource_kind';
    commandRef: string | null;
    field: string;
    ref: string;
    message: string;
}> | Readonly<{
    code: 'cyclic_dependency';
    commandRefs: readonly string[];
    message: string;
}>;
