import { z } from 'zod/v4';

declare const identitySchema: z.ZodObject<{
    type: z.ZodLiteral<"file" | "attack-pattern" | "bundle" | "campaign" | "course-of-action" | "extension-definition" | "identity" | "intrusion-set" | "malware" | "tool" | "marking-definition" | "x-mitre-analytic" | "x-mitre-data-component" | "x-mitre-detection-strategy" | "x-mitre-tactic" | "x-mitre-asset" | "x-mitre-data-source" | "x-mitre-matrix" | "x-mitre-collection" | "relationship" | "artifact">;
    id: z.ZodString & z.ZodType<`identity--${string}`, string, z.core.$ZodTypeInternals<`identity--${string}`, string>>;
    description: z.ZodOptional<z.ZodString>;
    lang: z.ZodOptional<z.ZodString>;
    spec_version: z.ZodLiteral<"2.1">;
    created_by_ref: z.ZodOptional<z.ZodString & z.ZodType<`identity--${string}`, string, z.core.$ZodTypeInternals<`identity--${string}`, string>>>;
    name: z.ZodString;
    created: z.ZodISODateTime;
    modified: z.ZodISODateTime;
    revoked: z.ZodOptional<z.ZodBoolean>;
    labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
    external_references: z.ZodOptional<z.ZodArray<z.ZodObject<{
        source_name: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        url: z.ZodOptional<z.ZodURL>;
        external_id: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>>;
    object_marking_refs: z.ZodArray<z.ZodString>;
    granular_markings: z.ZodOptional<z.ZodArray<z.ZodObject<{
        lang: z.ZodOptional<z.ZodString>;
        marking_ref: z.ZodOptional<z.ZodString>;
        selectors: z.ZodArray<z.ZodString>;
    }, z.core.$strip>>>;
    confidence: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
    extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
        extension_type: z.ZodEnum<{
            "new-sdo": "new-sdo";
            "new-sco": "new-sco";
            "new-sro": "new-sro";
            "property-extension": "property-extension";
            "toplevel-property-extension": "toplevel-property-extension";
        }>;
    }, z.core.$catchall<z.ZodUnknown>>, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>>;
    x_mitre_attack_spec_version: z.ZodString;
    x_mitre_old_attack_id: z.ZodOptional<z.ZodString & z.ZodType<`MOB-M${number}` | `MOB-S${number}`, string, z.core.$ZodTypeInternals<`MOB-M${number}` | `MOB-S${number}`, string>>>;
    x_mitre_deprecated: z.ZodOptional<z.ZodBoolean>;
    identity_class: z.ZodEnum<{
        group: "group";
        individual: "individual";
        system: "system";
        organization: "organization";
        class: "class";
        unspecified: "unspecified";
    }>;
    roles: z.ZodOptional<z.ZodArray<z.ZodString>>;
    sectors: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        government: "government";
        agriculture: "agriculture";
        aerospace: "aerospace";
        automotive: "automotive";
        chemical: "chemical";
        commercial: "commercial";
        communications: "communications";
        construction: "construction";
        defense: "defense";
        education: "education";
        energy: "energy";
        entertainment: "entertainment";
        "financial-services": "financial-services";
        "government-emergency-services": "government-emergency-services";
        "government-local": "government-local";
        "government-national": "government-national";
        "government-public-services": "government-public-services";
        "government-regional": "government-regional";
        healthcare: "healthcare";
        "hospitality-leisure": "hospitality-leisure";
        infrastructure: "infrastructure";
        "infrastructure-dams": "infrastructure-dams";
        "infrastructure-nuclear": "infrastructure-nuclear";
        "infrastructure-water": "infrastructure-water";
        insurance: "insurance";
        manufacturing: "manufacturing";
        mining: "mining";
        "non-profit": "non-profit";
        pharmaceuticals: "pharmaceuticals";
        retail: "retail";
        technology: "technology";
        telecommunications: "telecommunications";
        transportation: "transportation";
        utilities: "utilities";
    }>>>;
    contact_information: z.ZodOptional<z.ZodString>;
}, z.core.$strict>;
type Identity = z.infer<typeof identitySchema>;

export { type Identity, identitySchema };
