import { z } from 'zod';

declare const tlpMarkingObjectSchema: z.ZodObject<{
    tlp: z.ZodString;
}, "strict", z.ZodTypeAny, {
    tlp: string;
}, {
    tlp: string;
}>;
declare const baseMarkingDefinitionSchema: z.ZodObject<{
    type: z.ZodLiteral<"marking-definition">;
    spec_version: z.ZodLiteral<"2.1">;
    id: z.ZodString;
    created: z.ZodString;
    definition_type: z.ZodLiteral<"tlp">;
    name: z.ZodString;
    definition: z.ZodObject<{
        tlp: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        tlp: string;
    }, {
        tlp: string;
    }>;
}, "strip", z.ZodTypeAny, {
    type: "marking-definition";
    id: string;
    spec_version: "2.1";
    created: string;
    name: string;
    definition_type: "tlp";
    definition: {
        tlp: string;
    };
}, {
    type: "marking-definition";
    id: string;
    spec_version: "2.1";
    created: string;
    name: string;
    definition_type: "tlp";
    definition: {
        tlp: string;
    };
}>;
declare const tlpWhiteSchema: z.ZodObject<z.objectUtil.extendShape<{
    type: z.ZodLiteral<"marking-definition">;
    spec_version: z.ZodLiteral<"2.1">;
    id: z.ZodString;
    created: z.ZodString;
    definition_type: z.ZodLiteral<"tlp">;
    name: z.ZodString;
    definition: z.ZodObject<{
        tlp: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        tlp: string;
    }, {
        tlp: string;
    }>;
}, {
    id: z.ZodLiteral<"marking-definition--613f2e26-407d-48c7-9eca-b8e91df99dc9">;
    name: z.ZodLiteral<"TLP:WHITE">;
    definition: z.ZodObject<{
        tlp: z.ZodLiteral<"white">;
    }, "strip", z.ZodTypeAny, {
        tlp: "white";
    }, {
        tlp: "white";
    }>;
}>, "strict", z.ZodTypeAny, {
    type: "marking-definition";
    id: "marking-definition--613f2e26-407d-48c7-9eca-b8e91df99dc9";
    spec_version: "2.1";
    created: string;
    name: "TLP:WHITE";
    definition_type: "tlp";
    definition: {
        tlp: "white";
    };
}, {
    type: "marking-definition";
    id: "marking-definition--613f2e26-407d-48c7-9eca-b8e91df99dc9";
    spec_version: "2.1";
    created: string;
    name: "TLP:WHITE";
    definition_type: "tlp";
    definition: {
        tlp: "white";
    };
}>;
declare const tlpGreenSchema: z.ZodObject<z.objectUtil.extendShape<{
    type: z.ZodLiteral<"marking-definition">;
    spec_version: z.ZodLiteral<"2.1">;
    id: z.ZodString;
    created: z.ZodString;
    definition_type: z.ZodLiteral<"tlp">;
    name: z.ZodString;
    definition: z.ZodObject<{
        tlp: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        tlp: string;
    }, {
        tlp: string;
    }>;
}, {
    id: z.ZodLiteral<"marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da">;
    name: z.ZodLiteral<"TLP:GREEN">;
    definition: z.ZodObject<{
        tlp: z.ZodLiteral<"green">;
    }, "strip", z.ZodTypeAny, {
        tlp: "green";
    }, {
        tlp: "green";
    }>;
}>, "strict", z.ZodTypeAny, {
    type: "marking-definition";
    id: "marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da";
    spec_version: "2.1";
    created: string;
    name: "TLP:GREEN";
    definition_type: "tlp";
    definition: {
        tlp: "green";
    };
}, {
    type: "marking-definition";
    id: "marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da";
    spec_version: "2.1";
    created: string;
    name: "TLP:GREEN";
    definition_type: "tlp";
    definition: {
        tlp: "green";
    };
}>;
declare const tlpAmberSchema: z.ZodObject<z.objectUtil.extendShape<{
    type: z.ZodLiteral<"marking-definition">;
    spec_version: z.ZodLiteral<"2.1">;
    id: z.ZodString;
    created: z.ZodString;
    definition_type: z.ZodLiteral<"tlp">;
    name: z.ZodString;
    definition: z.ZodObject<{
        tlp: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        tlp: string;
    }, {
        tlp: string;
    }>;
}, {
    id: z.ZodLiteral<"marking-definition--f88d31f6-486f-44da-b317-01333bde0b82">;
    name: z.ZodLiteral<"TLP:AMBER">;
    definition: z.ZodObject<{
        tlp: z.ZodLiteral<"amber">;
    }, "strip", z.ZodTypeAny, {
        tlp: "amber";
    }, {
        tlp: "amber";
    }>;
}>, "strict", z.ZodTypeAny, {
    type: "marking-definition";
    id: "marking-definition--f88d31f6-486f-44da-b317-01333bde0b82";
    spec_version: "2.1";
    created: string;
    name: "TLP:AMBER";
    definition_type: "tlp";
    definition: {
        tlp: "amber";
    };
}, {
    type: "marking-definition";
    id: "marking-definition--f88d31f6-486f-44da-b317-01333bde0b82";
    spec_version: "2.1";
    created: string;
    name: "TLP:AMBER";
    definition_type: "tlp";
    definition: {
        tlp: "amber";
    };
}>;
declare const tlpRedSchema: z.ZodObject<z.objectUtil.extendShape<{
    type: z.ZodLiteral<"marking-definition">;
    spec_version: z.ZodLiteral<"2.1">;
    id: z.ZodString;
    created: z.ZodString;
    definition_type: z.ZodLiteral<"tlp">;
    name: z.ZodString;
    definition: z.ZodObject<{
        tlp: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        tlp: string;
    }, {
        tlp: string;
    }>;
}, {
    id: z.ZodLiteral<"marking-definition--5e57c739-391a-4eb3-b6be-7d15ca92d5ed">;
    name: z.ZodLiteral<"TLP:RED">;
    definition: z.ZodObject<{
        tlp: z.ZodLiteral<"red">;
    }, "strip", z.ZodTypeAny, {
        tlp: "red";
    }, {
        tlp: "red";
    }>;
}>, "strict", z.ZodTypeAny, {
    type: "marking-definition";
    id: "marking-definition--5e57c739-391a-4eb3-b6be-7d15ca92d5ed";
    spec_version: "2.1";
    created: string;
    name: "TLP:RED";
    definition_type: "tlp";
    definition: {
        tlp: "red";
    };
}, {
    type: "marking-definition";
    id: "marking-definition--5e57c739-391a-4eb3-b6be-7d15ca92d5ed";
    spec_version: "2.1";
    created: string;
    name: "TLP:RED";
    definition_type: "tlp";
    definition: {
        tlp: "red";
    };
}>;
declare const tlpMarkingDefinitionSchema: z.ZodUnion<[z.ZodObject<z.objectUtil.extendShape<{
    type: z.ZodLiteral<"marking-definition">;
    spec_version: z.ZodLiteral<"2.1">;
    id: z.ZodString;
    created: z.ZodString;
    definition_type: z.ZodLiteral<"tlp">;
    name: z.ZodString;
    definition: z.ZodObject<{
        tlp: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        tlp: string;
    }, {
        tlp: string;
    }>;
}, {
    id: z.ZodLiteral<"marking-definition--613f2e26-407d-48c7-9eca-b8e91df99dc9">;
    name: z.ZodLiteral<"TLP:WHITE">;
    definition: z.ZodObject<{
        tlp: z.ZodLiteral<"white">;
    }, "strip", z.ZodTypeAny, {
        tlp: "white";
    }, {
        tlp: "white";
    }>;
}>, "strict", z.ZodTypeAny, {
    type: "marking-definition";
    id: "marking-definition--613f2e26-407d-48c7-9eca-b8e91df99dc9";
    spec_version: "2.1";
    created: string;
    name: "TLP:WHITE";
    definition_type: "tlp";
    definition: {
        tlp: "white";
    };
}, {
    type: "marking-definition";
    id: "marking-definition--613f2e26-407d-48c7-9eca-b8e91df99dc9";
    spec_version: "2.1";
    created: string;
    name: "TLP:WHITE";
    definition_type: "tlp";
    definition: {
        tlp: "white";
    };
}>, z.ZodObject<z.objectUtil.extendShape<{
    type: z.ZodLiteral<"marking-definition">;
    spec_version: z.ZodLiteral<"2.1">;
    id: z.ZodString;
    created: z.ZodString;
    definition_type: z.ZodLiteral<"tlp">;
    name: z.ZodString;
    definition: z.ZodObject<{
        tlp: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        tlp: string;
    }, {
        tlp: string;
    }>;
}, {
    id: z.ZodLiteral<"marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da">;
    name: z.ZodLiteral<"TLP:GREEN">;
    definition: z.ZodObject<{
        tlp: z.ZodLiteral<"green">;
    }, "strip", z.ZodTypeAny, {
        tlp: "green";
    }, {
        tlp: "green";
    }>;
}>, "strict", z.ZodTypeAny, {
    type: "marking-definition";
    id: "marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da";
    spec_version: "2.1";
    created: string;
    name: "TLP:GREEN";
    definition_type: "tlp";
    definition: {
        tlp: "green";
    };
}, {
    type: "marking-definition";
    id: "marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da";
    spec_version: "2.1";
    created: string;
    name: "TLP:GREEN";
    definition_type: "tlp";
    definition: {
        tlp: "green";
    };
}>, z.ZodObject<z.objectUtil.extendShape<{
    type: z.ZodLiteral<"marking-definition">;
    spec_version: z.ZodLiteral<"2.1">;
    id: z.ZodString;
    created: z.ZodString;
    definition_type: z.ZodLiteral<"tlp">;
    name: z.ZodString;
    definition: z.ZodObject<{
        tlp: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        tlp: string;
    }, {
        tlp: string;
    }>;
}, {
    id: z.ZodLiteral<"marking-definition--f88d31f6-486f-44da-b317-01333bde0b82">;
    name: z.ZodLiteral<"TLP:AMBER">;
    definition: z.ZodObject<{
        tlp: z.ZodLiteral<"amber">;
    }, "strip", z.ZodTypeAny, {
        tlp: "amber";
    }, {
        tlp: "amber";
    }>;
}>, "strict", z.ZodTypeAny, {
    type: "marking-definition";
    id: "marking-definition--f88d31f6-486f-44da-b317-01333bde0b82";
    spec_version: "2.1";
    created: string;
    name: "TLP:AMBER";
    definition_type: "tlp";
    definition: {
        tlp: "amber";
    };
}, {
    type: "marking-definition";
    id: "marking-definition--f88d31f6-486f-44da-b317-01333bde0b82";
    spec_version: "2.1";
    created: string;
    name: "TLP:AMBER";
    definition_type: "tlp";
    definition: {
        tlp: "amber";
    };
}>, z.ZodObject<z.objectUtil.extendShape<{
    type: z.ZodLiteral<"marking-definition">;
    spec_version: z.ZodLiteral<"2.1">;
    id: z.ZodString;
    created: z.ZodString;
    definition_type: z.ZodLiteral<"tlp">;
    name: z.ZodString;
    definition: z.ZodObject<{
        tlp: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        tlp: string;
    }, {
        tlp: string;
    }>;
}, {
    id: z.ZodLiteral<"marking-definition--5e57c739-391a-4eb3-b6be-7d15ca92d5ed">;
    name: z.ZodLiteral<"TLP:RED">;
    definition: z.ZodObject<{
        tlp: z.ZodLiteral<"red">;
    }, "strip", z.ZodTypeAny, {
        tlp: "red";
    }, {
        tlp: "red";
    }>;
}>, "strict", z.ZodTypeAny, {
    type: "marking-definition";
    id: "marking-definition--5e57c739-391a-4eb3-b6be-7d15ca92d5ed";
    spec_version: "2.1";
    created: string;
    name: "TLP:RED";
    definition_type: "tlp";
    definition: {
        tlp: "red";
    };
}, {
    type: "marking-definition";
    id: "marking-definition--5e57c739-391a-4eb3-b6be-7d15ca92d5ed";
    spec_version: "2.1";
    created: string;
    name: "TLP:RED";
    definition_type: "tlp";
    definition: {
        tlp: "red";
    };
}>]>;
type TlpMarkingDefinition = z.infer<typeof tlpMarkingDefinitionSchema>;
type TlpMarkingObject = z.infer<typeof tlpMarkingObjectSchema>;
declare const statementMarkingObjectSchema: z.ZodObject<{
    statement: z.ZodString;
}, "strict", z.ZodTypeAny, {
    statement: string;
}, {
    statement: string;
}>;
declare const markingDefinitionSchema: z.ZodObject<{
    type: z.ZodEffects<z.ZodString, string, string>;
    id: z.ZodEffects<z.ZodEffects<z.ZodString, `attack-pattern--${string}` | `bundle--${string}` | `campaign--${string}` | `course-of-action--${string}` | `identity--${string}` | `intrusion-set--${string}` | `malware--${string}` | `tool--${string}` | `marking-definition--${string}` | `x-mitre-data-component--${string}` | `x-mitre-data-source--${string}` | `x-mitre-tactic--${string}` | `x-mitre-asset--${string}` | `x-mitre-matrix--${string}` | `x-mitre-collection--${string}` | `relationship--${string}` | `file--${string}` | `artifact--${string}`, string>, `marking-definition--${string}`, string>;
    spec_version: z.ZodEnum<["2.0", "2.1"]>;
    created: z.ZodBranded<z.ZodType<`${number}-${number}-${number}T${number}:${number}:${number}Z` | `${number}-${number}-${number}T${number}:${number}:${number}.${number}Z`, z.ZodTypeDef, `${number}-${number}-${number}T${number}:${number}:${number}Z` | `${number}-${number}-${number}T${number}:${number}:${number}.${number}Z`>, "StixCreatedTimestamp">;
    created_by_ref: z.ZodEffects<z.ZodEffects<z.ZodString, `attack-pattern--${string}` | `bundle--${string}` | `campaign--${string}` | `course-of-action--${string}` | `identity--${string}` | `intrusion-set--${string}` | `malware--${string}` | `tool--${string}` | `marking-definition--${string}` | `x-mitre-data-component--${string}` | `x-mitre-data-source--${string}` | `x-mitre-tactic--${string}` | `x-mitre-asset--${string}` | `x-mitre-matrix--${string}` | `x-mitre-collection--${string}` | `relationship--${string}` | `file--${string}` | `artifact--${string}`, string>, `identity--${string}`, string>;
    labels: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    revoked: z.ZodOptional<z.ZodBoolean>;
    confidence: z.ZodOptional<z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, number | undefined>>;
    lang: z.ZodOptional<z.ZodString>;
    external_references: z.ZodOptional<z.ZodArray<z.ZodObject<{
        source_name: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        url: z.ZodOptional<z.ZodString>;
        external_id: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        source_name: string;
        description?: string | undefined;
        url?: string | undefined;
        external_id?: string | undefined;
    }, {
        source_name: string;
        description?: string | undefined;
        url?: string | undefined;
        external_id?: string | undefined;
    }>, "many">>;
    object_marking_refs: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodEffects<z.ZodString, `attack-pattern--${string}` | `bundle--${string}` | `campaign--${string}` | `course-of-action--${string}` | `identity--${string}` | `intrusion-set--${string}` | `malware--${string}` | `tool--${string}` | `marking-definition--${string}` | `x-mitre-data-component--${string}` | `x-mitre-data-source--${string}` | `x-mitre-tactic--${string}` | `x-mitre-asset--${string}` | `x-mitre-matrix--${string}` | `x-mitre-collection--${string}` | `relationship--${string}` | `file--${string}` | `artifact--${string}`, string>, "many">, (`attack-pattern--${string}` | `bundle--${string}` | `campaign--${string}` | `course-of-action--${string}` | `identity--${string}` | `intrusion-set--${string}` | `malware--${string}` | `tool--${string}` | `marking-definition--${string}` | `x-mitre-data-component--${string}` | `x-mitre-data-source--${string}` | `x-mitre-tactic--${string}` | `x-mitre-asset--${string}` | `x-mitre-matrix--${string}` | `x-mitre-collection--${string}` | `relationship--${string}` | `file--${string}` | `artifact--${string}`)[], string[]>>;
    granular_markings: z.ZodOptional<z.ZodArray<z.ZodObject<{
        marking_ref: z.ZodEffects<z.ZodString, `attack-pattern--${string}` | `bundle--${string}` | `campaign--${string}` | `course-of-action--${string}` | `identity--${string}` | `intrusion-set--${string}` | `malware--${string}` | `tool--${string}` | `marking-definition--${string}` | `x-mitre-data-component--${string}` | `x-mitre-data-source--${string}` | `x-mitre-tactic--${string}` | `x-mitre-asset--${string}` | `x-mitre-matrix--${string}` | `x-mitre-collection--${string}` | `relationship--${string}` | `file--${string}` | `artifact--${string}`, string>;
        selectors: z.ZodArray<z.ZodString, "many">;
    }, "strip", z.ZodTypeAny, {
        marking_ref: `attack-pattern--${string}` | `bundle--${string}` | `campaign--${string}` | `course-of-action--${string}` | `identity--${string}` | `intrusion-set--${string}` | `malware--${string}` | `tool--${string}` | `marking-definition--${string}` | `x-mitre-data-component--${string}` | `x-mitre-data-source--${string}` | `x-mitre-tactic--${string}` | `x-mitre-asset--${string}` | `x-mitre-matrix--${string}` | `x-mitre-collection--${string}` | `relationship--${string}` | `file--${string}` | `artifact--${string}`;
        selectors: string[];
    }, {
        marking_ref: string;
        selectors: string[];
    }>, "many">>;
    extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
        extension_type: z.ZodString;
        extension_properties: z.ZodRecord<z.ZodString, z.ZodUnknown>;
    }, "strip", z.ZodTypeAny, {
        extension_type: string;
        extension_properties: Record<string, unknown>;
    }, {
        extension_type: string;
        extension_properties: Record<string, unknown>;
    }>, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>>;
    name: z.ZodOptional<z.ZodString>;
    x_mitre_old_attack_id: z.ZodOptional<z.ZodEffects<z.ZodString, `MOB-M${number}` | `MOB-S${number}`, string>>;
    definition_type: z.ZodEnum<["statement", "tlp"]>;
    definition: z.ZodUnion<[z.ZodObject<{
        tlp: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        tlp: string;
    }, {
        tlp: string;
    }>, z.ZodObject<{
        statement: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        statement: string;
    }, {
        statement: string;
    }>]>;
}, "strict", z.ZodTypeAny, {
    type: string;
    id: `marking-definition--${string}`;
    spec_version: "2.0" | "2.1";
    created: (`${number}-${number}-${number}T${number}:${number}:${number}Z` | `${number}-${number}-${number}T${number}:${number}:${number}.${number}Z`) & z.BRAND<"StixCreatedTimestamp">;
    created_by_ref: `identity--${string}`;
    definition_type: "tlp" | "statement";
    definition: {
        tlp: string;
    } | {
        statement: string;
    };
    labels?: string[] | undefined;
    revoked?: boolean | undefined;
    confidence?: number | undefined;
    lang?: string | undefined;
    external_references?: {
        source_name: string;
        description?: string | undefined;
        url?: string | undefined;
        external_id?: string | undefined;
    }[] | undefined;
    object_marking_refs?: (`attack-pattern--${string}` | `bundle--${string}` | `campaign--${string}` | `course-of-action--${string}` | `identity--${string}` | `intrusion-set--${string}` | `malware--${string}` | `tool--${string}` | `marking-definition--${string}` | `x-mitre-data-component--${string}` | `x-mitre-data-source--${string}` | `x-mitre-tactic--${string}` | `x-mitre-asset--${string}` | `x-mitre-matrix--${string}` | `x-mitre-collection--${string}` | `relationship--${string}` | `file--${string}` | `artifact--${string}`)[] | undefined;
    granular_markings?: {
        marking_ref: `attack-pattern--${string}` | `bundle--${string}` | `campaign--${string}` | `course-of-action--${string}` | `identity--${string}` | `intrusion-set--${string}` | `malware--${string}` | `tool--${string}` | `marking-definition--${string}` | `x-mitre-data-component--${string}` | `x-mitre-data-source--${string}` | `x-mitre-tactic--${string}` | `x-mitre-asset--${string}` | `x-mitre-matrix--${string}` | `x-mitre-collection--${string}` | `relationship--${string}` | `file--${string}` | `artifact--${string}`;
        selectors: string[];
    }[] | undefined;
    extensions?: Record<string, Record<string, unknown> | {
        extension_type: string;
        extension_properties: Record<string, unknown>;
    }> | undefined;
    name?: string | undefined;
    x_mitre_old_attack_id?: `MOB-M${number}` | `MOB-S${number}` | undefined;
}, {
    type: string;
    id: string;
    spec_version: "2.0" | "2.1";
    created: `${number}-${number}-${number}T${number}:${number}:${number}Z` | `${number}-${number}-${number}T${number}:${number}:${number}.${number}Z`;
    created_by_ref: string;
    definition_type: "tlp" | "statement";
    definition: {
        tlp: string;
    } | {
        statement: string;
    };
    labels?: string[] | undefined;
    revoked?: boolean | undefined;
    confidence?: number | undefined;
    lang?: string | undefined;
    external_references?: {
        source_name: string;
        description?: string | undefined;
        url?: string | undefined;
        external_id?: string | undefined;
    }[] | undefined;
    object_marking_refs?: string[] | undefined;
    granular_markings?: {
        marking_ref: string;
        selectors: string[];
    }[] | undefined;
    extensions?: Record<string, Record<string, unknown> | {
        extension_type: string;
        extension_properties: Record<string, unknown>;
    }> | undefined;
    name?: string | undefined;
    x_mitre_old_attack_id?: string | undefined;
}>;
type MarkingDefinition = z.infer<typeof markingDefinitionSchema>;

export { type MarkingDefinition, type TlpMarkingDefinition, type TlpMarkingObject, baseMarkingDefinitionSchema, markingDefinitionSchema, statementMarkingObjectSchema, tlpAmberSchema, tlpGreenSchema, tlpMarkingDefinitionSchema, tlpMarkingObjectSchema, tlpRedSchema, tlpWhiteSchema };
