export declare namespace ECS {
    interface Root {
        '@timestamp'?: string;
        labels?: AnyObject;
        message?: string;
        tags?: string[];
        agent?: Agent;
        client?: Client;
        cloud?: Cloud;
        container?: Container;
        data_stream?: Datastream;
        destination?: Client;
        dll?: Dll;
        dns?: Dns;
        ecs?: Ecs;
        error?: Error;
        event?: Event;
        file?: File;
        group?: Group;
        host?: Host;
        http?: Http;
        log?: Log;
        network?: Network2;
        observer?: Observer;
        orchestrator?: Orchestrator;
        organization?: Account;
        package?: Package;
        process?: Process;
        registry?: Registry;
        related?: Related;
        rule?: Rule;
        server?: Client;
        service?: Service;
        source?: Client;
        span?: Span;
        threat?: Threat;
        tls?: Tls;
        trace?: Span;
        transaction?: Span;
        url?: Url;
        user?: User2;
        user_agent?: Useragent;
        vulnerability?: Vulnerability;
    }
    interface Vulnerability {
        category?: string[];
        classification?: string;
        description?: string;
        enumeration?: string;
        id?: string;
        reference?: string;
        report_id?: string;
        scanner?: Scanner;
        score?: Score;
        severity?: string;
    }
    interface Score {
        base?: number;
        environmental?: number;
        temporal?: number;
        version?: string;
    }
    interface Scanner {
        vendor?: string;
    }
    interface Useragent {
        device?: Organization;
        name?: string;
        original?: string;
        os?: Os;
        version?: string;
    }
    interface User2 {
        changes?: User;
        domain?: string;
        effective?: User;
        email?: string;
        full_name?: string;
        group?: Group;
        hash?: string;
        id?: string;
        name?: string;
        roles?: string[];
        target?: User;
    }
    interface Tls {
        cipher?: string;
        client?: Client2;
        curve?: string;
        established?: boolean;
        next_protocol?: string;
        resumed?: boolean;
        server?: Server;
        version?: string;
        version_protocol?: string;
    }
    interface Server {
        certificate?: string;
        certificate_chain?: string[];
        hash?: Hash2;
        issuer?: string;
        ja3s?: string;
        not_after?: string;
        not_before?: string;
        subject?: string;
        x509?: X509;
    }
    interface Client2 {
        certificate?: string;
        certificate_chain?: string[];
        hash?: Hash2;
        issuer?: string;
        ja3?: string;
        not_after?: string;
        not_before?: string;
        server_name?: string;
        subject?: string;
        supported_ciphers?: string[];
        x509?: X509;
    }
    interface Hash2 {
        md5?: string;
        sha1?: string;
        sha256?: string;
    }
    interface Threat {
        enrichments?: Enrichments;
        framework?: string;
        group?: Group2;
        indicator?: Indicator;
        software?: Software;
        tactic?: Tactic;
        technique?: Technique;
    }
    interface Technique {
        id?: string;
        name?: string;
        reference?: string;
        subtechnique?: Tactic;
    }
    interface Tactic {
        id?: string;
        name?: string;
        reference?: string;
    }
    interface Software {
        alias?: string[];
        id?: string;
        name?: string;
        platforms?: string[];
        reference?: string;
        type?: string;
    }
    interface Group2 {
        alias?: string[];
        id?: string;
        name?: string;
        reference?: string;
    }
    interface Enrichments {
        indicator?: Indicator;
        matched?: Matched;
    }
    interface Matched {
        atomic?: string;
        field?: string;
        id?: string;
        index?: string;
        type?: string;
    }
    interface Indicator {
        as?: As;
        confidence?: string;
        description?: string;
        email?: Email;
        file?: File;
        first_seen?: string;
        geo?: Geo;
        ip?: string;
        last_seen?: string;
        marking?: Marking;
        modified_at?: string;
        port?: number;
        provider?: string;
        reference?: string;
        registry?: Registry;
        scanner_stats?: number;
        sightings?: number;
        type?: string;
        url?: Url;
        x509?: X509;
    }
    interface Url {
        domain?: string;
        extension?: string;
        fragment?: string;
        full?: string;
        original?: string;
        password?: string;
        path?: string;
        port?: number;
        query?: string;
        registered_domain?: string;
        scheme?: string;
        subdomain?: string;
        top_level_domain?: string;
        username?: string;
    }
    interface Marking {
        tlp?: string;
    }
    interface Email {
        address?: string;
    }
    interface Span {
        id?: string;
    }
    interface Service {
        address?: string;
        environment?: string;
        ephemeral_id?: string;
        id?: string;
        name?: string;
        node?: Organization;
        state?: string;
        type?: string;
        version?: string;
    }
    interface Rule {
        author?: string[];
        category?: string;
        description?: string;
        id?: string;
        license?: string;
        name?: string;
        reference?: string;
        ruleset?: string;
        uuid?: string;
        version?: string;
    }
    interface Related {
        hash?: string;
        hosts?: string;
        ip?: string;
        user?: string;
    }
    interface Registry {
        data?: Data;
        hive?: string;
        key?: string;
        path?: string;
        value?: string;
    }
    interface Data {
        bytes?: string;
        strings?: string;
        type?: string;
    }
    interface Process {
        args?: string[];
        args_count?: number;
        code_signature?: Codesignature;
        command_line?: string;
        elf?: Elf;
        end?: string;
        entity_id?: string;
        executable?: string;
        exit_code?: number;
        hash?: Hash;
        name?: string;
        parent?: Parent;
        pe?: Pe;
        pgid?: number;
        pid?: number;
        ppid?: number;
        start?: string;
        thread?: Thread;
        title?: string;
        uptime?: number;
        working_directory?: string;
    }
    interface Parent {
        args?: string[];
        args_count?: number;
        code_signature?: Codesignature;
        command_line?: string;
        elf?: Elf;
        end?: string;
        entity_id?: string;
        executable?: string;
        exit_code?: number;
        hash?: Hash;
        name?: string;
        pe?: Pe;
        pgid?: number;
        pid?: number;
        ppid?: number;
        start?: string;
        thread?: Thread;
        title?: string;
        uptime?: number;
        working_directory?: string;
    }
    interface Thread {
        id?: number;
        name?: string;
    }
    interface Package {
        architecture?: string;
        build_version?: string;
        checksum?: string;
        description?: string;
        install_scope?: string;
        installed?: string;
        license?: string;
        name?: string;
        path?: string;
        reference?: string;
        size?: number;
        type?: string;
        version?: string;
    }
    interface Orchestrator {
        api_version?: string;
        cluster?: Cluster;
        namespace?: string;
        organization?: string;
        resource?: Resource;
        type?: string;
    }
    interface Resource {
        name?: string;
        type?: string;
    }
    interface Cluster {
        name?: string;
        url?: string;
        version?: string;
    }
    interface Observer {
        egress?: Egress2;
        geo?: Geo;
        hostname?: string;
        ingress?: Egress2;
        ip?: string;
        mac?: string[];
        name?: string;
        os?: Os;
        product?: string;
        serial_number?: string;
        type?: string;
        vendor?: string;
        version?: string;
    }
    interface Egress2 {
        interface?: Interface;
        vlan?: Account;
        zone?: string;
    }
    interface Interface {
        alias?: string;
        id?: string;
        name?: string;
    }
    interface Network2 {
        application?: string;
        bytes?: number;
        community_id?: string;
        direction?: string;
        forwarded_ip?: string;
        iana_number?: string;
        inner?: Inner;
        name?: string;
        packets?: number;
        protocol?: string;
        transport?: string;
        type?: string;
        vlan?: Account;
    }
    interface Inner {
        vlan?: Account;
    }
    interface Log {
        file?: File2;
        level?: string;
        logger?: string;
        origin?: Origin;
        original?: string;
        syslog?: Syslog;
    }
    interface Syslog {
        facility?: Facility;
        priority?: number;
        severity?: Facility;
    }
    interface Facility {
        code?: number;
        name?: string;
    }
    interface Origin {
        file?: File3;
        function?: string;
    }
    interface File3 {
        line?: number;
        name?: string;
    }
    interface File2 {
        path?: string;
    }
    interface Http {
        request?: Request;
        response?: Response;
        version?: string;
    }
    interface Response {
        body?: Body;
        bytes?: number;
        mime_type?: string;
        status_code?: number;
    }
    interface Request {
        body?: Body;
        bytes?: number;
        id?: string;
        method?: string;
        mime_type?: string;
        referrer?: string;
    }
    interface Body {
        bytes?: number;
        content?: AnyObject;
    }
    interface Host {
        architecture?: string;
        cpu?: Cpu;
        disk?: Disk;
        domain?: string;
        geo?: Geo;
        hostname?: string;
        id?: string;
        ip?: string;
        mac?: string[];
        name?: string;
        network?: Network;
        os?: Os;
        type?: string;
        uptime?: number;
        user?: User;
    }
    interface Os {
        family?: string;
        full?: string;
        kernel?: string;
        name?: string;
        platform?: string;
        type?: string;
        version?: string;
    }
    interface Network {
        egress?: Egress;
        ingress?: Egress;
    }
    interface Egress {
        bytes?: number;
        packets?: number;
    }
    interface Disk {
        read?: Read;
        write?: Read;
    }
    interface Read {
        bytes?: number;
    }
    interface Cpu {
        usage?: number;
    }
    interface File {
        accessed?: string;
        attributes?: string[];
        code_signature?: Codesignature;
        created?: string;
        ctime?: string;
        device?: string;
        directory?: string;
        drive_letter?: string;
        elf?: Elf;
        extension?: string;
        fork_name?: string;
        gid?: string;
        group?: string;
        hash?: Hash;
        inode?: string;
        mime_type?: string;
        mode?: string;
        mtime?: string;
        name?: string;
        owner?: string;
        path?: string;
        pe?: Pe;
        size?: number;
        target_path?: string;
        type?: string;
        uid?: string;
        x509?: X509;
    }
    interface X509 {
        alternative_names?: string;
        issuer?: Issuer;
        not_after?: string;
        not_before?: string;
        public_key_algorithm?: string;
        public_key_curve?: string;
        public_key_exponent?: number;
        public_key_size?: number;
        serial_number?: string;
        signature_algorithm?: string;
        subject?: Issuer;
        version_number?: string;
    }
    interface Issuer {
        common_name?: string;
        country?: string;
        distinguished_name?: string;
        locality?: string;
        organization?: string;
        organizational_unit?: string;
        state_or_province?: string;
    }
    interface Elf {
        architecture?: string;
        byte_order?: string;
        cpu_type?: string;
        creation_date?: string;
        exports?: string;
        header?: Header;
        imports?: string;
        sections?: Sections;
        segments?: Segments;
        shared_libraries?: string;
        telfhash?: string;
    }
    interface Segments {
        sections?: string;
        type?: string;
    }
    interface Sections {
        chi2?: number;
        entropy?: number;
        flags?: string;
        name?: string;
        physical_offset?: string;
        physical_size?: number;
        type?: string;
        virtual_address?: number;
        virtual_size?: number;
    }
    interface Header {
        abi_version?: string;
        class?: string;
        data?: string;
        entrypoint?: number;
        object_version?: string;
        os_abi?: string;
        type?: string;
        version?: string;
    }
    interface Event {
        action?: string;
        agent_id_status?: string;
        category?: string;
        code?: string;
        created?: string;
        dataset?: string;
        duration?: number;
        end?: string;
        hash?: string;
        id?: string;
        ingested?: string;
        kind?: string;
        module?: string;
        original?: string;
        outcome?: string;
        provider?: string;
        reason?: string;
        reference?: string;
        risk_score?: number;
        risk_score_norm?: number;
        sequence?: number;
        severity?: number;
        start?: string;
        timezone?: string;
        type?: string;
        url?: string;
    }
    interface Error {
        code?: string;
        id?: string;
        message?: string;
        stack_trace?: string;
        type?: string;
    }
    interface Ecs {
        version?: string;
    }
    interface Dns {
        answers?: Answers;
        header_flags?: string[];
        id?: string;
        op_code?: string;
        question?: Question;
        resolved_ip?: string[];
        response_code?: string;
        type?: string;
    }
    interface Question {
        class?: string;
        name?: string;
        registered_domain?: string;
        subdomain?: string;
        top_level_domain?: string;
        type?: string;
    }
    interface Answers {
        class?: string;
        data?: string;
        name?: string;
        ttl?: number;
        type?: string;
    }
    interface Dll {
        code_signature?: Codesignature;
        hash?: Hash;
        name?: string;
        path?: string;
        pe?: Pe;
    }
    interface Pe {
        architecture?: string;
        company?: string;
        description?: string;
        file_version?: string;
        imphash?: string;
        original_file_name?: string;
        product?: string;
    }
    interface Hash {
        md5?: string;
        sha1?: string;
        sha256?: string;
        sha512?: string;
        ssdeep?: string;
    }
    interface Codesignature {
        digest_algorithm?: string;
        exists?: boolean;
        signing_id?: string;
        status?: string;
        subject_name?: string;
        team_id?: string;
        timestamp?: string;
        trusted?: boolean;
        valid?: boolean;
    }
    interface Datastream {
        dataset?: string;
        namespace?: string;
        type?: string;
    }
    interface Container {
        id?: string;
        image?: Image;
        labels?: AnyObject;
        name?: string;
        runtime?: string;
    }
    interface Image {
        name?: string;
        tag?: string;
    }
    interface Cloud {
        account?: Account;
        availability_zone?: string;
        instance?: Account;
        machine?: Machine;
        project?: Account;
        provider?: string;
        region?: string;
        service?: Organization;
    }
    interface Machine {
        type?: string;
    }
    interface Account {
        id?: string;
        name?: string;
    }
    interface Client {
        address?: string;
        as?: As;
        bytes?: number;
        domain?: string;
        geo?: Geo;
        ip?: string;
        mac?: string;
        nat?: Nat;
        packets?: number;
        port?: number;
        registered_domain?: string;
        subdomain?: string;
        top_level_domain?: string;
        user?: User;
    }
    interface User {
        domain?: string;
        email?: string;
        full_name?: string;
        group?: Group;
        hash?: string;
        id?: string;
        name?: string;
        roles?: string[];
    }
    interface Group {
        domain?: string;
        id?: string;
        name?: string;
    }
    interface Nat {
        ip?: string;
        port?: number;
    }
    interface Geo {
        city_name?: string;
        continent_code?: string;
        continent_name?: string;
        country_iso_code?: string;
        country_name?: string;
        location?: Location;
        name?: string;
        postal_code?: string;
        region_iso_code?: string;
        region_name?: string;
        timezone?: string;
    }
    interface Location {
        lon?: number;
        lat?: number;
    }
    interface As {
        number?: number;
        organization?: Organization;
    }
    interface Organization {
        name?: string;
    }
    interface Agent {
        build?: Build;
        ephemeral_id?: string;
        id?: string;
        name?: string;
        type?: string;
        version?: string;
    }
    interface Build {
        original?: string;
    }
    type AnyObject = Record<string, unknown>;
    type Fields = Omit<Root, '@timestamp' | 'ecs'>;
}
