import { z } from 'zod';
import * as react_jsx_runtime from 'react/jsx-runtime';
import { TreeNodeData } from '@mantine/core';
import { ComponentType, CSSProperties, ReactNode, HTMLAttributes } from 'react';
import { IconBrain } from '@tabler/icons-react';

declare const OntologyScopeSchema: z.ZodDefault<z.ZodObject<{
    objectTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
        id: z.ZodString;
        label: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        ownerSystemId: z.ZodOptional<z.ZodString>;
        aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
        properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        storage: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    }, z.core.$loose>>>>;
    linkTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
        id: z.ZodString;
        label: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        ownerSystemId: z.ZodOptional<z.ZodString>;
        aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
        from: z.ZodString;
        to: z.ZodString;
        cardinality: z.ZodOptional<z.ZodString>;
        via: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>>>>;
    actionTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
        id: z.ZodString;
        label: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        ownerSystemId: z.ZodOptional<z.ZodString>;
        aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
        actsOn: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
        input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        effects: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
    }, z.core.$loose>>>>;
    catalogTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
        id: z.ZodString;
        label: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        ownerSystemId: z.ZodOptional<z.ZodString>;
        aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
        kind: z.ZodOptional<z.ZodString>;
        appliesTo: z.ZodOptional<z.ZodString>;
        entries: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    }, z.core.$loose>>>>;
    eventTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
        id: z.ZodString;
        label: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        ownerSystemId: z.ZodOptional<z.ZodString>;
        aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
        payload: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    }, z.core.$loose>>>>;
    interfaceTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
        id: z.ZodString;
        label: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        ownerSystemId: z.ZodOptional<z.ZodString>;
        aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
        properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    }, z.core.$loose>>>>;
    valueTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
        id: z.ZodString;
        label: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        ownerSystemId: z.ZodOptional<z.ZodString>;
        aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
        primitive: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>>>>;
    sharedProperties: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
        id: z.ZodString;
        label: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        ownerSystemId: z.ZodOptional<z.ZodString>;
        aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
        valueType: z.ZodOptional<z.ZodString>;
        searchable: z.ZodOptional<z.ZodBoolean>;
        pii: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$loose>>>>;
    groups: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
        id: z.ZodString;
        label: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        ownerSystemId: z.ZodOptional<z.ZodString>;
        aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
        members: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
    }, z.core.$loose>>>>;
    endpoints: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
        id: z.ZodString;
        label: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        ownerSystemId: z.ZodOptional<z.ZodString>;
        aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
        route: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>>>>;
}, z.core.$strip>>;
type OntologyScope = z.infer<typeof OntologyScopeSchema>;

declare const SystemApiInterfaceSchema: z.ZodObject<{
    lifecycle: z.ZodDefault<z.ZodEnum<{
        active: "active";
        deprecated: "deprecated";
        draft: "draft";
        archived: "archived";
        disabled: "disabled";
    }>>;
    readinessProfile: z.ZodOptional<z.ZodEnum<{
        "sales.lead-gen.api": "sales.lead-gen.api";
        "sales.crm.api": "sales.crm.api";
        "sales.lead-gen.crm-handoff": "sales.lead-gen.crm-handoff";
    }>>;
    resourceIds: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
}, z.core.$strict>;
type JsonPrimitive = string | number | boolean | null;
type JsonValue = JsonPrimitive | JsonValue[] | {
    [key: string]: JsonValue;
};
/** Explicit interface needed to annotate the recursive SystemEntrySchema. */
interface SystemEntry {
    id: string;
    label?: string;
    title?: string;
    description?: string;
    kind?: 'product' | 'operational' | 'platform' | 'diagnostic';
    parentSystemId?: string;
    ui?: {
        path: string;
        surfaces: string[];
        icon?: string;
        order?: number;
    };
    lifecycle?: 'draft' | 'beta' | 'active' | 'deprecated' | 'archived';
    responsibleRoleId?: string;
    governedByKnowledge?: string[];
    actions?: {
        actionId: string;
        intent: 'exposes' | 'consumes';
        invocation?: unknown;
    }[];
    policies?: string[];
    drivesGoals?: string[];
    apiInterface?: z.infer<typeof SystemApiInterfaceSchema>;
    /** @deprecated Use lifecycle. Accepted for one publish cycle. */
    status?: 'active' | 'deprecated' | 'archived';
    path?: string;
    icon?: string;
    uiPosition?: 'sidebar-primary' | 'sidebar-bottom';
    enabled?: boolean;
    devOnly?: boolean;
    requiresAdmin?: boolean;
    order: number;
    config?: Record<string, JsonValue>;
    ontology?: OntologyScope;
    systems?: Record<string, SystemEntry>;
    subsystems?: Record<string, SystemEntry>;
}

declare const SurfaceTypeSchema: z.ZodEnum<{
    dashboard: "dashboard";
    settings: "settings";
    graph: "graph";
    page: "page";
    detail: "detail";
    list: "list";
}>;
interface SidebarSurfaceNode {
    type: 'surface';
    label: string;
    path: string;
    surfaceType: z.infer<typeof SurfaceTypeSchema>;
    description?: string;
    icon?: string;
    order?: number;
    targets?: {
        systems?: string[];
        entities?: string[];
        resources?: string[];
        actions?: string[];
    };
    devOnly?: boolean;
    requiresAdmin?: boolean;
}
interface SidebarGroupNode {
    type: 'group';
    label: string;
    description?: string;
    icon?: string;
    order?: number;
    children: Record<string, SidebarNode>;
}
type SidebarNode = SidebarSurfaceNode | SidebarGroupNode;

declare const OrgKnowledgeKindSchema: z.ZodEnum<{
    playbook: "playbook";
    strategy: "strategy";
    reference: "reference";
}>;
declare const OrgKnowledgeNodeSchema: z.ZodObject<{
    id: z.ZodString;
    kind: z.ZodEnum<{
        playbook: "playbook";
        strategy: "strategy";
        reference: "reference";
    }>;
    title: z.ZodString;
    summary: z.ZodString;
    icon: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
        message: "message";
        error: "error";
        agent: "agent";
        workflow: "workflow";
        "google-sheets": "google-sheets";
        dashboard: "dashboard";
        calendar: "calendar";
        sales: "sales";
        crm: "crm";
        "lead-gen": "lead-gen";
        projects: "projects";
        clients: "clients";
        operations: "operations";
        monitoring: "monitoring";
        knowledge: "knowledge";
        settings: "settings";
        admin: "admin";
        archive: "archive";
        business: "business";
        finance: "finance";
        platform: "platform";
        seo: "seo";
        playbook: "playbook";
        strategy: "strategy";
        reference: "reference";
        integration: "integration";
        database: "database";
        user: "user";
        team: "team";
        gmail: "gmail";
        attio: "attio";
        overview: "overview";
        "command-view": "command-view";
        "command-queue": "command-queue";
        pipeline: "pipeline";
        lists: "lists";
        resources: "resources";
        approve: "approve";
        reject: "reject";
        retry: "retry";
        edit: "edit";
        view: "view";
        launch: "launch";
        "message-plus": "message-plus";
        escalate: "escalate";
        promote: "promote";
        submit: "submit";
        email: "email";
        success: "success";
        warning: "warning";
        info: "info";
        pending: "pending";
        bolt: "bolt";
        building: "building";
        briefcase: "briefcase";
        apps: "apps";
        graph: "graph";
        shield: "shield";
        users: "users";
        "chart-bar": "chart-bar";
        search: "search";
    }>, z.ZodString]>>;
    externalUrl: z.ZodOptional<z.ZodString>;
    sourceFilePath: z.ZodOptional<z.ZodString>;
    body: z.ZodString;
    links: z.ZodDefault<z.ZodArray<z.ZodPipe<z.ZodUnion<readonly [z.ZodObject<{
        target: z.ZodObject<{
            kind: z.ZodEnum<{
                knowledge: "knowledge";
                system: "system";
                resource: "resource";
                action: "action";
                ontology: "ontology";
                role: "role";
                client: "client";
                stage: "stage";
                goal: "goal";
                "customer-segment": "customer-segment";
                offering: "offering";
            }>;
            id: z.ZodString;
        }, z.core.$strip>;
    }, z.core.$strip>, z.ZodObject<{
        nodeId: z.ZodUnion<readonly [z.ZodString, z.ZodTemplateLiteral<`ontology:${string}`>]>;
    }, z.core.$strip>]>, z.ZodTransform<{
        target: {
            kind: "knowledge" | "system" | "resource" | "action" | "ontology" | "role" | "client" | "stage" | "goal" | "customer-segment" | "offering";
            id: string;
        };
        nodeId: string;
    }, {
        nodeId: string;
    } | {
        target: {
            kind: "knowledge" | "system" | "resource" | "action" | "ontology" | "role" | "client" | "stage" | "goal" | "customer-segment" | "offering";
            id: string;
        };
    }>>>>;
    ownerIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
    updatedAt: z.ZodString;
}, z.core.$strip>;

declare const OrganizationModelIconTokenSchema: z.ZodUnion<readonly [z.ZodEnum<{
    message: "message";
    error: "error";
    agent: "agent";
    workflow: "workflow";
    "google-sheets": "google-sheets";
    dashboard: "dashboard";
    calendar: "calendar";
    sales: "sales";
    crm: "crm";
    "lead-gen": "lead-gen";
    projects: "projects";
    clients: "clients";
    operations: "operations";
    monitoring: "monitoring";
    knowledge: "knowledge";
    settings: "settings";
    admin: "admin";
    archive: "archive";
    business: "business";
    finance: "finance";
    platform: "platform";
    seo: "seo";
    playbook: "playbook";
    strategy: "strategy";
    reference: "reference";
    integration: "integration";
    database: "database";
    user: "user";
    team: "team";
    gmail: "gmail";
    attio: "attio";
    overview: "overview";
    "command-view": "command-view";
    "command-queue": "command-queue";
    pipeline: "pipeline";
    lists: "lists";
    resources: "resources";
    approve: "approve";
    reject: "reject";
    retry: "retry";
    edit: "edit";
    view: "view";
    launch: "launch";
    "message-plus": "message-plus";
    escalate: "escalate";
    promote: "promote";
    submit: "submit";
    email: "email";
    success: "success";
    warning: "warning";
    info: "info";
    pending: "pending";
    bolt: "bolt";
    building: "building";
    briefcase: "briefcase";
    apps: "apps";
    graph: "graph";
    shield: "shield";
    users: "users";
    "chart-bar": "chart-bar";
    search: "search";
}>, z.ZodString]>;
type OrganizationModelIconToken = z.infer<typeof OrganizationModelIconTokenSchema>;

declare const OrganizationModelSchema: z.ZodObject<{
    version: z.ZodDefault<z.ZodLiteral<1>>;
    snapshotHash: z.ZodOptional<z.ZodString>;
    domainMetadata: z.ZodPipe<z.ZodDefault<z.ZodObject<{
        branding: z.ZodOptional<z.ZodObject<{
            version: z.ZodDefault<z.ZodLiteral<1>>;
            lastModified: z.ZodString;
        }, z.core.$strip>>;
        identity: z.ZodOptional<z.ZodObject<{
            version: z.ZodDefault<z.ZodLiteral<1>>;
            lastModified: z.ZodString;
        }, z.core.$strip>>;
        clients: z.ZodOptional<z.ZodObject<{
            version: z.ZodDefault<z.ZodLiteral<1>>;
            lastModified: z.ZodString;
        }, z.core.$strip>>;
        customers: z.ZodOptional<z.ZodObject<{
            version: z.ZodDefault<z.ZodLiteral<1>>;
            lastModified: z.ZodString;
        }, z.core.$strip>>;
        offerings: z.ZodOptional<z.ZodObject<{
            version: z.ZodDefault<z.ZodLiteral<1>>;
            lastModified: z.ZodString;
        }, z.core.$strip>>;
        roles: z.ZodOptional<z.ZodObject<{
            version: z.ZodDefault<z.ZodLiteral<1>>;
            lastModified: z.ZodString;
        }, z.core.$strip>>;
        goals: z.ZodOptional<z.ZodObject<{
            version: z.ZodDefault<z.ZodLiteral<1>>;
            lastModified: z.ZodString;
        }, z.core.$strip>>;
        systems: z.ZodOptional<z.ZodObject<{
            version: z.ZodDefault<z.ZodLiteral<1>>;
            lastModified: z.ZodString;
        }, z.core.$strip>>;
        ontology: z.ZodOptional<z.ZodObject<{
            version: z.ZodDefault<z.ZodLiteral<1>>;
            lastModified: z.ZodString;
        }, z.core.$strip>>;
        resources: z.ZodOptional<z.ZodObject<{
            version: z.ZodDefault<z.ZodLiteral<1>>;
            lastModified: z.ZodString;
        }, z.core.$strip>>;
        topology: z.ZodOptional<z.ZodObject<{
            version: z.ZodDefault<z.ZodLiteral<1>>;
            lastModified: z.ZodString;
        }, z.core.$strip>>;
        actions: z.ZodOptional<z.ZodObject<{
            version: z.ZodDefault<z.ZodLiteral<1>>;
            lastModified: z.ZodString;
        }, z.core.$strip>>;
        entities: z.ZodOptional<z.ZodObject<{
            version: z.ZodDefault<z.ZodLiteral<1>>;
            lastModified: z.ZodString;
        }, z.core.$strip>>;
        policies: z.ZodOptional<z.ZodObject<{
            version: z.ZodDefault<z.ZodLiteral<1>>;
            lastModified: z.ZodString;
        }, z.core.$strip>>;
        knowledge: z.ZodOptional<z.ZodObject<{
            version: z.ZodDefault<z.ZodLiteral<1>>;
            lastModified: z.ZodString;
        }, z.core.$strip>>;
    }, z.core.$strip>>, z.ZodTransform<{
        branding: {
            version: 1;
            lastModified: string;
        };
        identity: {
            version: 1;
            lastModified: string;
        };
        clients: {
            version: 1;
            lastModified: string;
        };
        customers: {
            version: 1;
            lastModified: string;
        };
        offerings: {
            version: 1;
            lastModified: string;
        };
        roles: {
            version: 1;
            lastModified: string;
        };
        goals: {
            version: 1;
            lastModified: string;
        };
        systems: {
            version: 1;
            lastModified: string;
        };
        ontology: {
            version: 1;
            lastModified: string;
        };
        resources: {
            version: 1;
            lastModified: string;
        };
        topology: {
            version: 1;
            lastModified: string;
        };
        actions: {
            version: 1;
            lastModified: string;
        };
        entities: {
            version: 1;
            lastModified: string;
        };
        policies: {
            version: 1;
            lastModified: string;
        };
        knowledge: {
            version: 1;
            lastModified: string;
        };
    }, {
        branding?: {
            version: 1;
            lastModified: string;
        } | undefined;
        identity?: {
            version: 1;
            lastModified: string;
        } | undefined;
        clients?: {
            version: 1;
            lastModified: string;
        } | undefined;
        customers?: {
            version: 1;
            lastModified: string;
        } | undefined;
        offerings?: {
            version: 1;
            lastModified: string;
        } | undefined;
        roles?: {
            version: 1;
            lastModified: string;
        } | undefined;
        goals?: {
            version: 1;
            lastModified: string;
        } | undefined;
        systems?: {
            version: 1;
            lastModified: string;
        } | undefined;
        ontology?: {
            version: 1;
            lastModified: string;
        } | undefined;
        resources?: {
            version: 1;
            lastModified: string;
        } | undefined;
        topology?: {
            version: 1;
            lastModified: string;
        } | undefined;
        actions?: {
            version: 1;
            lastModified: string;
        } | undefined;
        entities?: {
            version: 1;
            lastModified: string;
        } | undefined;
        policies?: {
            version: 1;
            lastModified: string;
        } | undefined;
        knowledge?: {
            version: 1;
            lastModified: string;
        } | undefined;
    }>>;
    branding: z.ZodDefault<z.ZodObject<{
        organizationName: z.ZodString;
        productName: z.ZodString;
        shortName: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        logos: z.ZodDefault<z.ZodObject<{
            light: z.ZodOptional<z.ZodString>;
            dark: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        voice: z.ZodOptional<z.ZodString>;
        tagline: z.ZodOptional<z.ZodString>;
        values: z.ZodOptional<z.ZodArray<z.ZodString>>;
        themePresetId: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>>;
    navigation: z.ZodDefault<z.ZodObject<{
        sidebar: z.ZodDefault<z.ZodObject<{
            primary: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodType<SidebarNode, unknown, z.core.$ZodTypeInternals<SidebarNode, unknown>>>>;
            bottom: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodType<SidebarNode, unknown, z.core.$ZodTypeInternals<SidebarNode, unknown>>>>;
        }, z.core.$strip>>;
        topbar: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
            id: z.ZodString;
            label: z.ZodString;
            tooltip: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
                message: "message";
                error: "error";
                agent: "agent";
                workflow: "workflow";
                "google-sheets": "google-sheets";
                dashboard: "dashboard";
                calendar: "calendar";
                sales: "sales";
                crm: "crm";
                "lead-gen": "lead-gen";
                projects: "projects";
                clients: "clients";
                operations: "operations";
                monitoring: "monitoring";
                knowledge: "knowledge";
                settings: "settings";
                admin: "admin";
                archive: "archive";
                business: "business";
                finance: "finance";
                platform: "platform";
                seo: "seo";
                playbook: "playbook";
                strategy: "strategy";
                reference: "reference";
                integration: "integration";
                database: "database";
                user: "user";
                team: "team";
                gmail: "gmail";
                attio: "attio";
                overview: "overview";
                "command-view": "command-view";
                "command-queue": "command-queue";
                pipeline: "pipeline";
                lists: "lists";
                resources: "resources";
                approve: "approve";
                reject: "reject";
                retry: "retry";
                edit: "edit";
                view: "view";
                launch: "launch";
                "message-plus": "message-plus";
                escalate: "escalate";
                promote: "promote";
                submit: "submit";
                email: "email";
                success: "success";
                warning: "warning";
                info: "info";
                pending: "pending";
                bolt: "bolt";
                building: "building";
                briefcase: "briefcase";
                apps: "apps";
                graph: "graph";
                shield: "shield";
                users: "users";
                "chart-bar": "chart-bar";
                search: "search";
            }>, z.ZodString]>>;
            order: z.ZodOptional<z.ZodNumber>;
            enabled: z.ZodDefault<z.ZodBoolean>;
            devOnly: z.ZodOptional<z.ZodBoolean>;
            requiresAdmin: z.ZodOptional<z.ZodBoolean>;
            targets: z.ZodOptional<z.ZodDefault<z.ZodObject<{
                systems: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
                entities: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
                resources: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
                actions: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
            }, z.core.$strip>>>;
        }, z.core.$strip>>>;
    }, z.core.$strip>>;
    identity: z.ZodDefault<z.ZodObject<{
        mission: z.ZodDefault<z.ZodString>;
        vision: z.ZodDefault<z.ZodString>;
        legalName: z.ZodDefault<z.ZodString>;
        entityType: z.ZodDefault<z.ZodString>;
        jurisdiction: z.ZodDefault<z.ZodString>;
        industryCategory: z.ZodDefault<z.ZodString>;
        geographicFocus: z.ZodDefault<z.ZodString>;
        timeZone: z.ZodDefault<z.ZodString>;
        businessHours: z.ZodDefault<z.ZodObject<{
            monday: z.ZodOptional<z.ZodObject<{
                open: z.ZodString;
                close: z.ZodString;
            }, z.core.$strip>>;
            tuesday: z.ZodOptional<z.ZodObject<{
                open: z.ZodString;
                close: z.ZodString;
            }, z.core.$strip>>;
            wednesday: z.ZodOptional<z.ZodObject<{
                open: z.ZodString;
                close: z.ZodString;
            }, z.core.$strip>>;
            thursday: z.ZodOptional<z.ZodObject<{
                open: z.ZodString;
                close: z.ZodString;
            }, z.core.$strip>>;
            friday: z.ZodOptional<z.ZodObject<{
                open: z.ZodString;
                close: z.ZodString;
            }, z.core.$strip>>;
            saturday: z.ZodOptional<z.ZodObject<{
                open: z.ZodString;
                close: z.ZodString;
            }, z.core.$strip>>;
            sunday: z.ZodOptional<z.ZodObject<{
                open: z.ZodString;
                close: z.ZodString;
            }, z.core.$strip>>;
        }, z.core.$strip>>;
        clientBrief: z.ZodDefault<z.ZodString>;
        organizationName: z.ZodOptional<z.ZodString>;
        productName: z.ZodOptional<z.ZodString>;
        shortName: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>>;
    clients: z.ZodDefault<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
        id: z.ZodString;
        slug: z.ZodString;
        name: z.ZodString;
        status: z.ZodDefault<z.ZodEnum<{
            active: "active";
            onboarding: "onboarding";
            paused: "paused";
            completed: "completed";
            churned: "churned";
        }>>;
        source: z.ZodOptional<z.ZodString>;
        identity: z.ZodDefault<z.ZodObject<{
            organizationName: z.ZodOptional<z.ZodString>;
            shortName: z.ZodOptional<z.ZodString>;
            clientBrief: z.ZodDefault<z.ZodString>;
            geographicFocus: z.ZodDefault<z.ZodArray<z.ZodString>>;
            timeZone: z.ZodDefault<z.ZodString>;
        }, z.core.$loose>>;
        branding: z.ZodDefault<z.ZodObject<{
            voice: z.ZodOptional<z.ZodString>;
            tagline: z.ZodOptional<z.ZodString>;
            values: z.ZodDefault<z.ZodArray<z.ZodString>>;
        }, z.core.$loose>>;
        workspace: z.ZodDefault<z.ZodObject<{
            kind: z.ZodOptional<z.ZodEnum<{
                "external-project": "external-project";
                "internal-project": "internal-project";
                none: "none";
            }>>;
            owner: z.ZodOptional<z.ZodEnum<{
                platform: "platform";
                client: "client";
                developer: "developer";
            }>>;
            projectId: z.ZodOptional<z.ZodString>;
            workspacePath: z.ZodOptional<z.ZodString>;
        }, z.core.$loose>>;
        links: z.ZodDefault<z.ZodObject<{
            projectIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
            primaryCompanyId: z.ZodOptional<z.ZodString>;
            primaryContactId: z.ZodOptional<z.ZodString>;
            sourceDealId: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        prompts: z.ZodDefault<z.ZodObject<{
            defaultContext: z.ZodDefault<z.ZodString>;
        }, z.core.$loose>>;
        config: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>>;
        customValues: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>>;
    }, z.core.$strict>>>>;
    customers: z.ZodDefault<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
        id: z.ZodString;
        order: z.ZodNumber;
        name: z.ZodDefault<z.ZodString>;
        description: z.ZodDefault<z.ZodString>;
        jobsToBeDone: z.ZodDefault<z.ZodString>;
        pains: z.ZodDefault<z.ZodArray<z.ZodString>>;
        gains: z.ZodDefault<z.ZodArray<z.ZodString>>;
        firmographics: z.ZodDefault<z.ZodObject<{
            industry: z.ZodOptional<z.ZodString>;
            companySize: z.ZodOptional<z.ZodString>;
            region: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        valueProp: z.ZodDefault<z.ZodString>;
    }, z.core.$strip>>>>;
    offerings: z.ZodDefault<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
        id: z.ZodString;
        order: z.ZodNumber;
        name: z.ZodDefault<z.ZodString>;
        description: z.ZodDefault<z.ZodString>;
        pricingModel: z.ZodDefault<z.ZodEnum<{
            custom: "custom";
            "one-time": "one-time";
            subscription: "subscription";
            "usage-based": "usage-based";
        }>>;
        price: z.ZodDefault<z.ZodNumber>;
        currency: z.ZodDefault<z.ZodString>;
        targetSegmentIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
        deliveryFeatureId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>>>;
    roles: z.ZodDefault<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
        id: z.ZodString;
        order: z.ZodNumber;
        title: z.ZodString;
        responsibilities: z.ZodDefault<z.ZodArray<z.ZodString>>;
        reportsToId: z.ZodOptional<z.ZodString>;
        heldBy: z.ZodOptional<z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
            kind: z.ZodLiteral<"human">;
            userId: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            kind: z.ZodLiteral<"agent">;
            agentId: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            kind: z.ZodLiteral<"team">;
            memberIds: z.ZodArray<z.ZodString>;
        }, z.core.$strip>], "kind">, z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
            kind: z.ZodLiteral<"human">;
            userId: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            kind: z.ZodLiteral<"agent">;
            agentId: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            kind: z.ZodLiteral<"team">;
            memberIds: z.ZodArray<z.ZodString>;
        }, z.core.$strip>], "kind">>]>>;
        responsibleFor: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>>>>;
    goals: z.ZodDefault<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
        id: z.ZodString;
        order: z.ZodNumber;
        description: z.ZodString;
        periodStart: z.ZodString;
        periodEnd: z.ZodString;
        keyResults: z.ZodDefault<z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            description: z.ZodString;
            targetMetric: z.ZodString;
            currentValue: z.ZodDefault<z.ZodNumber>;
            targetValue: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strip>>>;
    }, z.core.$strip>>>>;
    systems: z.ZodDefault<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodType<SystemEntry, unknown, z.core.$ZodTypeInternals<SystemEntry, unknown>>>>>;
    ontology: z.ZodDefault<z.ZodDefault<z.ZodObject<{
        objectTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
            id: z.ZodString;
            label: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            ownerSystemId: z.ZodOptional<z.ZodString>;
            aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
            properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
            storage: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        }, z.core.$loose>>>>;
        linkTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
            id: z.ZodString;
            label: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            ownerSystemId: z.ZodOptional<z.ZodString>;
            aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
            from: z.ZodString;
            to: z.ZodString;
            cardinality: z.ZodOptional<z.ZodString>;
            via: z.ZodOptional<z.ZodString>;
        }, z.core.$loose>>>>;
        actionTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
            id: z.ZodString;
            label: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            ownerSystemId: z.ZodOptional<z.ZodString>;
            aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
            actsOn: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
            input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
            effects: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
        }, z.core.$loose>>>>;
        catalogTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
            id: z.ZodString;
            label: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            ownerSystemId: z.ZodOptional<z.ZodString>;
            aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
            kind: z.ZodOptional<z.ZodString>;
            appliesTo: z.ZodOptional<z.ZodString>;
            entries: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        }, z.core.$loose>>>>;
        eventTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
            id: z.ZodString;
            label: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            ownerSystemId: z.ZodOptional<z.ZodString>;
            aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
            payload: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        }, z.core.$loose>>>>;
        interfaceTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
            id: z.ZodString;
            label: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            ownerSystemId: z.ZodOptional<z.ZodString>;
            aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
            properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        }, z.core.$loose>>>>;
        valueTypes: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
            id: z.ZodString;
            label: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            ownerSystemId: z.ZodOptional<z.ZodString>;
            aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
            primitive: z.ZodOptional<z.ZodString>;
        }, z.core.$loose>>>>;
        sharedProperties: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
            id: z.ZodString;
            label: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            ownerSystemId: z.ZodOptional<z.ZodString>;
            aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
            valueType: z.ZodOptional<z.ZodString>;
            searchable: z.ZodOptional<z.ZodBoolean>;
            pii: z.ZodOptional<z.ZodBoolean>;
        }, z.core.$loose>>>>;
        groups: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
            id: z.ZodString;
            label: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            ownerSystemId: z.ZodOptional<z.ZodString>;
            aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
            members: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
        }, z.core.$loose>>>>;
        endpoints: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
            id: z.ZodString;
            label: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            ownerSystemId: z.ZodOptional<z.ZodString>;
            aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
            route: z.ZodOptional<z.ZodString>;
        }, z.core.$loose>>>>;
    }, z.core.$strip>>>;
    resources: z.ZodDefault<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
        id: z.ZodString;
        order: z.ZodDefault<z.ZodNumber>;
        systemPath: z.ZodString;
        title: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        ownerRoleId: z.ZodOptional<z.ZodString>;
        status: z.ZodEnum<{
            active: "active";
            deprecated: "deprecated";
            archived: "archived";
        }>;
        ontology: z.ZodOptional<z.ZodObject<{
            actions: z.ZodOptional<z.ZodArray<z.ZodString>>;
            primaryAction: z.ZodOptional<z.ZodString>;
            reads: z.ZodOptional<z.ZodArray<z.ZodString>>;
            writes: z.ZodOptional<z.ZodArray<z.ZodString>>;
            usesCatalogs: z.ZodOptional<z.ZodArray<z.ZodString>>;
            emits: z.ZodOptional<z.ZodArray<z.ZodString>>;
            contract: z.ZodOptional<z.ZodObject<{
                input: z.ZodOptional<z.ZodString>;
                output: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
        }, z.core.$strip>>;
        codeRefs: z.ZodDefault<z.ZodArray<z.ZodObject<{
            path: z.ZodString;
            role: z.ZodEnum<{
                entrypoint: "entrypoint";
                handler: "handler";
                schema: "schema";
                test: "test";
                docs: "docs";
                config: "config";
            }>;
            symbol: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        kind: z.ZodLiteral<"workflow">;
        emits: z.ZodOptional<z.ZodArray<z.ZodObject<{
            eventKey: z.ZodString;
            label: z.ZodString;
            payloadSchema: z.ZodOptional<z.ZodString>;
            lifecycle: z.ZodOptional<z.ZodEnum<{
                active: "active";
                deprecated: "deprecated";
                draft: "draft";
                beta: "beta";
                archived: "archived";
            }>>;
        }, z.core.$strip>>>;
    }, z.core.$strip>, z.ZodObject<{
        id: z.ZodString;
        order: z.ZodDefault<z.ZodNumber>;
        systemPath: z.ZodString;
        title: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        ownerRoleId: z.ZodOptional<z.ZodString>;
        status: z.ZodEnum<{
            active: "active";
            deprecated: "deprecated";
            archived: "archived";
        }>;
        ontology: z.ZodOptional<z.ZodObject<{
            actions: z.ZodOptional<z.ZodArray<z.ZodString>>;
            primaryAction: z.ZodOptional<z.ZodString>;
            reads: z.ZodOptional<z.ZodArray<z.ZodString>>;
            writes: z.ZodOptional<z.ZodArray<z.ZodString>>;
            usesCatalogs: z.ZodOptional<z.ZodArray<z.ZodString>>;
            emits: z.ZodOptional<z.ZodArray<z.ZodString>>;
            contract: z.ZodOptional<z.ZodObject<{
                input: z.ZodOptional<z.ZodString>;
                output: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
        }, z.core.$strip>>;
        codeRefs: z.ZodDefault<z.ZodArray<z.ZodObject<{
            path: z.ZodString;
            role: z.ZodEnum<{
                entrypoint: "entrypoint";
                handler: "handler";
                schema: "schema";
                test: "test";
                docs: "docs";
                config: "config";
            }>;
            symbol: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        kind: z.ZodLiteral<"agent">;
        agentKind: z.ZodEnum<{
            platform: "platform";
            orchestrator: "orchestrator";
            specialist: "specialist";
            utility: "utility";
        }>;
        actsAsRoleId: z.ZodOptional<z.ZodString>;
        sessionCapable: z.ZodBoolean;
        invocations: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
            kind: z.ZodLiteral<"slash-command">;
            command: z.ZodString;
            toolFactory: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>, z.ZodObject<{
            kind: z.ZodLiteral<"mcp-tool">;
            server: z.ZodString;
            name: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            kind: z.ZodLiteral<"api-endpoint">;
            method: z.ZodEnum<{
                GET: "GET";
                POST: "POST";
                PATCH: "PATCH";
                DELETE: "DELETE";
            }>;
            path: z.ZodString;
            requestSchema: z.ZodOptional<z.ZodString>;
            responseSchema: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>, z.ZodObject<{
            kind: z.ZodLiteral<"script-execution">;
            resourceId: z.ZodString;
        }, z.core.$strip>], "kind">>>;
        emits: z.ZodOptional<z.ZodArray<z.ZodObject<{
            eventKey: z.ZodString;
            label: z.ZodString;
            payloadSchema: z.ZodOptional<z.ZodString>;
            lifecycle: z.ZodOptional<z.ZodEnum<{
                active: "active";
                deprecated: "deprecated";
                draft: "draft";
                beta: "beta";
                archived: "archived";
            }>>;
        }, z.core.$strip>>>;
    }, z.core.$strip>, z.ZodObject<{
        id: z.ZodString;
        order: z.ZodDefault<z.ZodNumber>;
        systemPath: z.ZodString;
        title: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        ownerRoleId: z.ZodOptional<z.ZodString>;
        status: z.ZodEnum<{
            active: "active";
            deprecated: "deprecated";
            archived: "archived";
        }>;
        ontology: z.ZodOptional<z.ZodObject<{
            actions: z.ZodOptional<z.ZodArray<z.ZodString>>;
            primaryAction: z.ZodOptional<z.ZodString>;
            reads: z.ZodOptional<z.ZodArray<z.ZodString>>;
            writes: z.ZodOptional<z.ZodArray<z.ZodString>>;
            usesCatalogs: z.ZodOptional<z.ZodArray<z.ZodString>>;
            emits: z.ZodOptional<z.ZodArray<z.ZodString>>;
            contract: z.ZodOptional<z.ZodObject<{
                input: z.ZodOptional<z.ZodString>;
                output: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
        }, z.core.$strip>>;
        codeRefs: z.ZodDefault<z.ZodArray<z.ZodObject<{
            path: z.ZodString;
            role: z.ZodEnum<{
                entrypoint: "entrypoint";
                handler: "handler";
                schema: "schema";
                test: "test";
                docs: "docs";
                config: "config";
            }>;
            symbol: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        kind: z.ZodLiteral<"integration">;
        provider: z.ZodString;
    }, z.core.$strip>, z.ZodObject<{
        id: z.ZodString;
        order: z.ZodDefault<z.ZodNumber>;
        systemPath: z.ZodString;
        title: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        ownerRoleId: z.ZodOptional<z.ZodString>;
        status: z.ZodEnum<{
            active: "active";
            deprecated: "deprecated";
            archived: "archived";
        }>;
        ontology: z.ZodOptional<z.ZodObject<{
            actions: z.ZodOptional<z.ZodArray<z.ZodString>>;
            primaryAction: z.ZodOptional<z.ZodString>;
            reads: z.ZodOptional<z.ZodArray<z.ZodString>>;
            writes: z.ZodOptional<z.ZodArray<z.ZodString>>;
            usesCatalogs: z.ZodOptional<z.ZodArray<z.ZodString>>;
            emits: z.ZodOptional<z.ZodArray<z.ZodString>>;
            contract: z.ZodOptional<z.ZodObject<{
                input: z.ZodOptional<z.ZodString>;
                output: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
        }, z.core.$strip>>;
        codeRefs: z.ZodDefault<z.ZodArray<z.ZodObject<{
            path: z.ZodString;
            role: z.ZodEnum<{
                entrypoint: "entrypoint";
                handler: "handler";
                schema: "schema";
                test: "test";
                docs: "docs";
                config: "config";
            }>;
            symbol: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        kind: z.ZodLiteral<"script">;
        language: z.ZodEnum<{
            shell: "shell";
            sql: "sql";
            typescript: "typescript";
            python: "python";
        }>;
        source: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
            file: z.ZodString;
        }, z.core.$strip>]>;
    }, z.core.$strip>], "kind">>>>;
    topology: z.ZodDefault<z.ZodDefault<z.ZodObject<{
        version: z.ZodDefault<z.ZodLiteral<1>>;
        relationships: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
            from: z.ZodDiscriminatedUnion<[z.ZodObject<{
                kind: z.ZodLiteral<"system">;
                id: z.ZodString;
            }, z.core.$strip>, z.ZodObject<{
                kind: z.ZodLiteral<"resource">;
                id: z.ZodString;
            }, z.core.$strip>, z.ZodObject<{
                kind: z.ZodLiteral<"ontology">;
                id: z.ZodString;
            }, z.core.$strip>, z.ZodObject<{
                kind: z.ZodLiteral<"policy">;
                id: z.ZodString;
            }, z.core.$strip>, z.ZodObject<{
                kind: z.ZodLiteral<"role">;
                id: z.ZodString;
            }, z.core.$strip>, z.ZodObject<{
                kind: z.ZodLiteral<"trigger">;
                id: z.ZodString;
            }, z.core.$strip>, z.ZodObject<{
                kind: z.ZodLiteral<"humanCheckpoint">;
                id: z.ZodString;
            }, z.core.$strip>, z.ZodObject<{
                kind: z.ZodLiteral<"externalResource">;
                id: z.ZodString;
            }, z.core.$strip>], "kind">;
            kind: z.ZodEnum<{
                triggers: "triggers";
                uses: "uses";
                approval: "approval";
            }>;
            to: z.ZodDiscriminatedUnion<[z.ZodObject<{
                kind: z.ZodLiteral<"system">;
                id: z.ZodString;
            }, z.core.$strip>, z.ZodObject<{
                kind: z.ZodLiteral<"resource">;
                id: z.ZodString;
            }, z.core.$strip>, z.ZodObject<{
                kind: z.ZodLiteral<"ontology">;
                id: z.ZodString;
            }, z.core.$strip>, z.ZodObject<{
                kind: z.ZodLiteral<"policy">;
                id: z.ZodString;
            }, z.core.$strip>, z.ZodObject<{
                kind: z.ZodLiteral<"role">;
                id: z.ZodString;
            }, z.core.$strip>, z.ZodObject<{
                kind: z.ZodLiteral<"trigger">;
                id: z.ZodString;
            }, z.core.$strip>, z.ZodObject<{
                kind: z.ZodLiteral<"humanCheckpoint">;
                id: z.ZodString;
            }, z.core.$strip>, z.ZodObject<{
                kind: z.ZodLiteral<"externalResource">;
                id: z.ZodString;
            }, z.core.$strip>], "kind">;
            systemPath: z.ZodOptional<z.ZodString>;
            required: z.ZodOptional<z.ZodBoolean>;
            metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>>;
        }, z.core.$strip>>>;
    }, z.core.$strip>>>;
    actions: z.ZodDefault<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
        id: z.ZodString;
        order: z.ZodNumber;
        label: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        scope: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"global">, z.ZodObject<{
            domain: z.ZodString;
        }, z.core.$strip>]>>;
        resourceId: z.ZodOptional<z.ZodString>;
        affects: z.ZodOptional<z.ZodArray<z.ZodString>>;
        invocations: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
            kind: z.ZodLiteral<"slash-command">;
            command: z.ZodString;
            toolFactory: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>, z.ZodObject<{
            kind: z.ZodLiteral<"mcp-tool">;
            server: z.ZodString;
            name: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            kind: z.ZodLiteral<"api-endpoint">;
            method: z.ZodEnum<{
                GET: "GET";
                POST: "POST";
                PATCH: "PATCH";
                DELETE: "DELETE";
            }>;
            path: z.ZodString;
            requestSchema: z.ZodOptional<z.ZodString>;
            responseSchema: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>, z.ZodObject<{
            kind: z.ZodLiteral<"script-execution">;
            resourceId: z.ZodString;
        }, z.core.$strip>], "kind">>>;
        knowledge: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>;
        lifecycle: z.ZodDefault<z.ZodEnum<{
            active: "active";
            deprecated: "deprecated";
            draft: "draft";
            beta: "beta";
            archived: "archived";
        }>>;
    }, z.core.$strip>>>>;
    entities: z.ZodDefault<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
        id: z.ZodString;
        order: z.ZodNumber;
        label: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        ownedBySystemId: z.ZodString;
        table: z.ZodOptional<z.ZodString>;
        rowSchema: z.ZodOptional<z.ZodString>;
        stateCatalogId: z.ZodOptional<z.ZodString>;
        links: z.ZodOptional<z.ZodArray<z.ZodObject<{
            toEntity: z.ZodString;
            kind: z.ZodEnum<{
                "belongs-to": "belongs-to";
                "has-many": "has-many";
                "has-one": "has-one";
                "many-to-many": "many-to-many";
            }>;
            via: z.ZodOptional<z.ZodString>;
            label: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
    }, z.core.$strip>>>>;
    policies: z.ZodDefault<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
        id: z.ZodString;
        order: z.ZodNumber;
        label: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        trigger: z.ZodDiscriminatedUnion<[z.ZodObject<{
            kind: z.ZodLiteral<"event">;
            eventId: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            kind: z.ZodLiteral<"action-invocation">;
            actionId: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            kind: z.ZodLiteral<"schedule">;
            cron: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            kind: z.ZodLiteral<"manual">;
        }, z.core.$strip>], "kind">;
        predicate: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
            kind: z.ZodLiteral<"always">;
        }, z.core.$strip>, z.ZodObject<{
            kind: z.ZodLiteral<"expression">;
            expression: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            kind: z.ZodLiteral<"threshold">;
            metric: z.ZodString;
            operator: z.ZodEnum<{
                lt: "lt";
                lte: "lte";
                eq: "eq";
                gte: "gte";
                gt: "gt";
            }>;
            value: z.ZodNumber;
        }, z.core.$strip>], "kind">>;
        actions: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
            kind: z.ZodLiteral<"require-approval">;
            roleId: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>, z.ZodObject<{
            kind: z.ZodLiteral<"invoke-action">;
            actionId: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            kind: z.ZodLiteral<"notify-role">;
            roleId: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            kind: z.ZodLiteral<"block">;
        }, z.core.$strip>], "kind">>;
        appliesTo: z.ZodDefault<z.ZodObject<{
            systemIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
            actionIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
            resourceIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
            roleIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
        }, z.core.$strip>>;
        lifecycle: z.ZodDefault<z.ZodEnum<{
            active: "active";
            deprecated: "deprecated";
            draft: "draft";
            beta: "beta";
            archived: "archived";
        }>>;
    }, z.core.$strip>>>>;
    knowledge: z.ZodDefault<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
        id: z.ZodString;
        kind: z.ZodEnum<{
            playbook: "playbook";
            strategy: "strategy";
            reference: "reference";
        }>;
        title: z.ZodString;
        summary: z.ZodString;
        icon: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
            message: "message";
            error: "error";
            agent: "agent";
            workflow: "workflow";
            "google-sheets": "google-sheets";
            dashboard: "dashboard";
            calendar: "calendar";
            sales: "sales";
            crm: "crm";
            "lead-gen": "lead-gen";
            projects: "projects";
            clients: "clients";
            operations: "operations";
            monitoring: "monitoring";
            knowledge: "knowledge";
            settings: "settings";
            admin: "admin";
            archive: "archive";
            business: "business";
            finance: "finance";
            platform: "platform";
            seo: "seo";
            playbook: "playbook";
            strategy: "strategy";
            reference: "reference";
            integration: "integration";
            database: "database";
            user: "user";
            team: "team";
            gmail: "gmail";
            attio: "attio";
            overview: "overview";
            "command-view": "command-view";
            "command-queue": "command-queue";
            pipeline: "pipeline";
            lists: "lists";
            resources: "resources";
            approve: "approve";
            reject: "reject";
            retry: "retry";
            edit: "edit";
            view: "view";
            launch: "launch";
            "message-plus": "message-plus";
            escalate: "escalate";
            promote: "promote";
            submit: "submit";
            email: "email";
            success: "success";
            warning: "warning";
            info: "info";
            pending: "pending";
            bolt: "bolt";
            building: "building";
            briefcase: "briefcase";
            apps: "apps";
            graph: "graph";
            shield: "shield";
            users: "users";
            "chart-bar": "chart-bar";
            search: "search";
        }>, z.ZodString]>>;
        externalUrl: z.ZodOptional<z.ZodString>;
        sourceFilePath: z.ZodOptional<z.ZodString>;
        body: z.ZodString;
        links: z.ZodDefault<z.ZodArray<z.ZodPipe<z.ZodUnion<readonly [z.ZodObject<{
            target: z.ZodObject<{
                kind: z.ZodEnum<{
                    knowledge: "knowledge";
                    system: "system";
                    resource: "resource";
                    action: "action";
                    ontology: "ontology";
                    role: "role";
                    client: "client";
                    stage: "stage";
                    goal: "goal";
                    "customer-segment": "customer-segment";
                    offering: "offering";
                }>;
                id: z.ZodString;
            }, z.core.$strip>;
        }, z.core.$strip>, z.ZodObject<{
            nodeId: z.ZodUnion<readonly [z.ZodString, z.ZodTemplateLiteral<`ontology:${string}`>]>;
        }, z.core.$strip>]>, z.ZodTransform<{
            target: {
                kind: "knowledge" | "system" | "resource" | "action" | "ontology" | "role" | "client" | "stage" | "goal" | "customer-segment" | "offering";
                id: string;
            };
            nodeId: string;
        }, {
            nodeId: string;
        } | {
            target: {
                kind: "knowledge" | "system" | "resource" | "action" | "ontology" | "role" | "client" | "stage" | "goal" | "customer-segment" | "offering";
                id: string;
            };
        }>>>>;
        ownerIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
        updatedAt: z.ZodString;
    }, z.core.$strip>>>>;
}, z.core.$strip>;

type OrganizationModel = z.infer<typeof OrganizationModelSchema>;
type OrgKnowledgeNode = z.infer<typeof OrgKnowledgeNodeSchema>;
type OrgKnowledgeKind = z.infer<typeof OrgKnowledgeKindSchema>;

/**
 * Command View Types
 *
 * Unified type definitions for the Command View graph visualization.
 * These types are used by both backend serialization and frontend rendering.
 *
 * Command View shows the resource graph: agents, workflows, triggers, integrations,
 * external resources, and human checkpoints with their relationships.
 */

/**
 * Relationship types between resources
 *
 * - triggers: Resource initiates/starts another resource (orange)
 * - uses: Resource uses an integration (teal)
 * - approval: Resource requires human approval (yellow)
 */
type RelationshipType = 'triggers' | 'uses' | 'approval';

type OrganizationGraphNodeKind = 'organization' | 'system' | 'client' | 'role' | 'action' | 'entity' | 'event' | 'policy' | 'stage' | 'resource' | 'knowledge' | 'customer-segment' | 'offering' | 'goal' | 'surface' | 'navigation-group' | 'ontology';
type OrganizationGraphEdgeKind = 'contains' | 'references' | 'maps_to' | 'uses' | 'governs' | 'links' | 'affects' | 'emits' | 'originates_from' | 'triggers' | 'approval' | 'applies_to' | 'effects' | 'actions' | 'reads' | 'writes' | 'uses_catalog';

interface OrganizationGraphNode {
    id: string;
    kind: OrganizationGraphNodeKind;
    label: string;
    sourceId?: string;
    description?: string;
    icon?: OrganizationModelIconToken;
    enabled?: boolean;
    ontologyKind?: string;
    resourceType?: 'workflow' | 'agent' | 'trigger' | 'integration' | 'external' | 'human_checkpoint' | 'script';
}
interface OrganizationGraphEdge {
    id: string;
    kind: OrganizationGraphEdgeKind;
    sourceId: string;
    targetId: string;
    label?: string;
    relationshipType?: RelationshipType;
}
interface OrganizationGraph {
    version: 1;
    organizationModelVersion: OrganizationModel['version'];
    nodes: OrganizationGraphNode[];
    edges: OrganizationGraphEdge[];
}

declare function getSharedOrganizationGraph(organizationModel: OrganizationModel): OrganizationGraph;

interface KnowledgeBrowserProps {
    /** Built organization graph. */
    graph: OrganizationGraph;
    /** All knowledge nodes (OM authoring shape). */
    knowledgeNodes: OrgKnowledgeNode[];
    /** Optional full organization model, used to enrich graph-node detail views. */
    organizationModel?: OrganizationModel;
    /** Optional id of the node to render. */
    initialNodeId?: string;
    /** Optional callback invoked when a graph edge chip is clicked in the node view. */
    onNavigateToNode?: (graphNodeId: string) => void;
    /** Optional callback invoked when the overview links to a knowledge node. */
    onSelectNode?: (nodeId: string) => void;
}
/**
 * Renders the selected knowledge node detail, or the root knowledge overview.
 *
 * The file-system tree nav and the search bar live in the knowledge subshell
 * sidebar. Selection is URL-driven via `initialNodeId`.
 */
declare function KnowledgeBrowser({ graph, knowledgeNodes, organizationModel, initialNodeId, onNavigateToNode, onSelectNode }: KnowledgeBrowserProps): react_jsx_runtime.JSX.Element;

interface KnowledgeItemRouteId {
    domainKey: string;
    itemId: string;
}
type KnowledgeRouteTarget = {
    kind: 'domain';
    domainKey: string;
} | {
    kind: 'group';
    groupKey: string;
    label?: string;
    domainKeys: readonly string[];
} | {
    kind: 'folder';
    folderId: string;
} | {
    kind: 'item';
    domainKey: string;
    itemId: string;
} | {
    kind: 'knowledge';
    node: OrgKnowledgeNode;
} | {
    kind: 'graph';
    node: OrganizationGraphNode;
} | {
    kind: 'unresolved';
    nodeId: string;
};
declare function decodeKnowledgeRouteNodeId(nodeId: string): string;
declare function formatKnowledgeRouteTitle(id: string): string;
declare function formatKnowledgeDomainLabel(domainKey: string): string;
declare function parseKnowledgeItemRouteId(nodeId: string): KnowledgeItemRouteId | undefined;
declare function resolveKnowledgeGraphNodeByRouteId(graph: OrganizationGraph, routeNodeId: string): OrganizationGraphNode | undefined;
declare function resolveKnowledgeRouteTarget(graph: OrganizationGraph, knowledgeNodes: OrgKnowledgeNode[], nodeId: string | undefined): KnowledgeRouteTarget | null;
declare function getKnowledgeRouteBreadcrumbLabel(nodeId: string, graph: OrganizationGraph): string | undefined;

interface KnowledgeNodeDetailRouteViewProps {
    nodeId: string;
    graph: OrganizationGraph;
    knowledgeNodes: OrgKnowledgeNode[];
    organizationModel: OrganizationModel;
    onNavigateToNode?: (nodeId: string) => void;
}
declare function KnowledgeNodeDetailRouteView({ nodeId, graph, knowledgeNodes, organizationModel, onNavigateToNode }: KnowledgeNodeDetailRouteViewProps): react_jsx_runtime.JSX.Element;

/**
 * Identifies how to dispatch a favorited entry on click. Maps onto the
 * `onSelect*` callback surface that `KnowledgeTree` already exposes.
 */
type KnowledgeFavoriteKind = 'group' | 'domain' | 'item' | 'knowledge' | 'graph';
interface KnowledgeFavoriteEntry {
    /**
     * The `/knowledge/${routeId}` target. Matches the same identifier shape used
     * by tree row selection: bare `knowledge.foo` for leaves, `group:profile`,
     * `domain:goals`, `item:customers:abc`, or a graph node id (`resource:xxx`).
     */
    routeId: string;
    label: string;
    iconToken?: string;
    kind: KnowledgeFavoriteKind;
    /** Set on toggle so Quick Access can sort by recency. */
    addedAt: number;
}

type KnowledgeTreeNodeData = TreeNodeData & {
    nodeType?: 'spine' | 'folder' | 'leaf' | 'graph' | 'domain' | 'group' | 'item' | 'favorite';
    icon?: string;
    graphNodeId?: string;
    knowledgeNodeId?: string;
    knowledgeNodeIds?: string[];
    domainKey?: string;
    itemId?: string;
    /** When nodeType === 'favorite', the resolved routeId to dispatch on click. */
    favoriteRouteId?: string;
    /** When nodeType === 'favorite', the kind of the underlying target. */
    favoriteKind?: KnowledgeFavoriteKind;
    children?: KnowledgeTreeNodeData[];
};
/**
 * Semantic OM tree groups (in display order). Operational configuration domains
 * are projected under their owning systems rather than surfaced as top-level
 * siblings.
 */
declare const OM_TREE_GROUPS: ReadonlyArray<{
    key: string;
    label: string;
    domains: readonly string[];
}>;
/**
 * Nested OM tree subgroups that live *inside* a top-level group rather than at
 * the tree root. `buildOrganizationGroup` nests these (Profile and Business
 * Model under Organization) instead of `buildOrgTreeNode` iterating them as
 * roots — so they are intentionally absent from `OM_TREE_GROUPS`. They still
 * produce `group:<key>` routes when clicked, so the `/knowledge/$nodeId` route
 * must resolve them too. Keep each `domains` list in sync with the matching
 * `buildProfileGroup` / `buildBusinessModelGroup` child domains below.
 */
declare const OM_NESTED_TREE_GROUPS: ReadonlyArray<{
    key: string;
    label: string;
    domains: readonly string[];
}>;
/**
 * Resolve a knowledge-tree group descriptor by key, searching top-level groups
 * first, then nested subgroups. Returns `undefined` for unknown keys so callers
 * can render a not-found state.
 */
declare function findOmTreeGroup(groupKey: string): {
    key: string;
    label: string;
    domains: readonly string[];
} | undefined;
type KnowledgeTreeSpine = 'system' | 'entity' | 'resource';
type KnowledgeFacetState = 'include' | 'neutral' | 'exclude';
type KnowledgeFacetStates = Partial<Record<OrganizationGraphNodeKind, KnowledgeFacetState>>;
interface KnowledgeTreeProps {
    /** Built organization graph - used to enumerate features and resolve `governs` edges. */
    graph: OrganizationGraph;
    /** All knowledge nodes (the OM authoring shape; queries need this for body/links). */
    knowledgeNodes: OrgKnowledgeNode[];
    /**
     * Full organization model. Required when `omRooted` is true so the tree can
     * surface the 12 non-system OM domain branches. Optional otherwise.
     */
    organizationModel?: OrganizationModel;
    /** Called when a knowledge node is selected. */
    onSelectNode: (node: OrgKnowledgeNode) => void;
    /** Called when a graph/config node is selected. */
    onSelectGraphNode?: (node: OrganizationGraphNode) => void;
    /** Called when an OM domain branch is selected (e.g. `identity`, `customers`). */
    onSelectDomain?: (domainKey: string) => void;
    /** Called when an OM semantic group is selected (e.g. `profile`, `graph`). */
    onSelectGroup?: (groupKey: string) => void;
    /** Called when an OM domain item is selected (e.g. one customer segment). */
    onSelectItem?: (domainKey: string, itemId: string) => void;
    /**
     * Called when a folder/category node is selected. Receives the full tree
     * `value` string (e.g. `folder:config:platform:ui`) so the caller can
     * navigate to a folder detail route.
     */
    onSelectFolder?: (folderValue: string) => void;
    /** Root graph kind for the tree. */
    spine?: KnowledgeTreeSpine;
    /**
     * When true, render an OM-rooted tree with 13 top-level domain branches; the
     * systems branch retains the spine recursion. When false (default), render a
     * single-spine tree as before.
     */
    omRooted?: boolean;
    /** Tri-state graph-kind facets. Included kinds are rendered inline; excluded kinds are hidden. */
    facetStates?: KnowledgeFacetStates;
    /** Currently selected node id (highlights the active row). */
    selectedNodeId?: string;
}
/**
 * All domain keys that have a dedicated panel view. Exported as the single
 * source of truth shared by KnowledgeTree and DescribeNodeView â€” no parallel
 * list maintenance required.
 */
declare const KNOWLEDGE_DOMAINS_WITH_PANELS: Set<string>;
/**
 * Subset of KNOWLEDGE_DOMAINS_WITH_PANELS whose items support per-item
 * filtering (i.e. clicking a tree item opens a filtered panel view).
 */
declare const FILTERABLE_DOMAIN_KEYS: Set<string>;
/**
 * Build the full OM-rooted tree data. Exported so that route-level code can
 * reconstruct the same tree (e.g. to resolve a `folder:` node for its detail
 * view) without needing a React component.
 */
declare function buildKnowledgeOmTreeData(graph: OrganizationGraph, knowledgeNodes: OrgKnowledgeNode[], facetStates: KnowledgeFacetStates, organizationModel?: OrganizationModel, favorites?: KnowledgeFavoriteEntry[]): KnowledgeTreeNodeData[];
/**
 * Recursively walk `nodes` and return the first node whose `value` matches
 * `targetValue`, or `undefined` when not found.
 */
declare function findKnowledgeTreeNodeByValue(nodes: readonly KnowledgeTreeNodeData[], targetValue: string): KnowledgeTreeNodeData | undefined;
/**
 * By-feature primary tree using Mantine `Tree`.
 */
declare function KnowledgeTree({ graph, knowledgeNodes, organizationModel, onSelectNode, onSelectGraphNode, onSelectDomain, onSelectGroup, onSelectItem, onSelectFolder, spine, omRooted, facetStates, selectedNodeId }: KnowledgeTreeProps): react_jsx_runtime.JSX.Element;

interface KnowledgeNodeListProps {
    /** Nodes to render. Usually the result of a query (bySystem, byKind, search). */
    nodes: OrgKnowledgeNode[];
    /** Called when the user selects a node. */
    onSelect: (node: OrgKnowledgeNode) => void;
    /** Id of the currently selected node (highlights the active card). */
    selectedNodeId?: string;
    /** Optional label shown above the list (e.g. "Playbooks" or "3 results"). */
    label?: string;
}
/**
 * Flat list of knowledge node cards.
 *
 * Each card shows title, kind badge, and summary. Clicking a card calls
 * `onSelect`. The active card (matching `selectedNodeId`) is highlighted
 * using the `--active-background` token.
 */
declare function KnowledgeNodeList({ nodes, onSelect, selectedNodeId, label }: KnowledgeNodeListProps): react_jsx_runtime.JSX.Element;

interface KnowledgeNodeViewProps {
    /** The knowledge node to display. */
    node: OrgKnowledgeNode;
    /** The organization graph - used to resolve edge relationships. */
    graph: OrganizationGraph;
    /**
     * Optional callback when the user clicks a graph edge chip (e.g. to navigate
     * to the related node or feature). The raw graph node id is passed.
     */
    onNavigateToNode?: (graphNodeId: string) => void;
    /**
     * Optional extra components to merge into the MDX allowlist for this view.
     * Passed directly to the internal `KnowledgeMDXProvider` wrapper.
     */
    extraComponents?: Record<string, React.ComponentType<any>>;
    /**
     * `domainMetadata.knowledge.lastModified` from the OrganizationModel.
     * When provided, surfaced in the technical metadata footer as "Domain version".
     */
    domainVersion?: string;
}
/**
 * Full single-node view: title, kind chip, summary, compiled MDX body, graph
 * relationships, and technical metadata for the backing graph node.
 */
declare function KnowledgeNodeView({ node, graph, onNavigateToNode, extraComponents, domainVersion }: KnowledgeNodeViewProps): react_jsx_runtime.JSX.Element;

interface KnowledgeSearchBarProps {
    /** All available knowledge nodes — used to resolve hit ids to nodes. */
    knowledgeNodes: OrgKnowledgeNode[];
    /**
     * Called with the ranked subset of nodes matching the current query.
     * Called with `null` when the search bar is cleared (parent restores default view).
     */
    onResults: (nodes: OrgKnowledgeNode[] | null) => void;
    /** Placeholder text. Defaults to "Search knowledge…". */
    placeholder?: string;
}
/**
 * Client-side full-text search bar over the knowledge index.
 *
 * On mount, builds an in-memory index from `_generated/knowledge-search-index.json`
 * (title, summary, bodyText). As the user types, calls `onResults` with ranked
 * `OrgKnowledgeNode[]`. Clearing the input calls `onResults(null)` so the parent
 * can restore its default tree/list view.
 *
 * The index is intentionally scoped to the generated snapshot — it does not
 * re-index on `knowledgeNodes` changes at runtime (Phase 1 is read-only).
 */
declare function KnowledgeSearchBar({ knowledgeNodes, onResults, placeholder }: KnowledgeSearchBarProps): react_jsx_runtime.JSX.Element;

/**
 * Shared nav-item shape used by feature sidebar middle components.
 *
 * Matches the subset of {@link SubshellNavItemProps} that the existing
 * hardcoded item arrays use. Consumers import this type alongside the
 * exported item arrays (e.g. `CRM_ITEMS`) to type their custom arrays.
 *
 * @example
 * import { NavItem, CRM_ITEMS } from '@elevasis/ui/features/crm'
 *
 * const customItems: NavItem[] = [
 *   ...CRM_ITEMS,
 *   { label: 'Reports', to: '/crm/reports', icon: IconFileText, exact: false },
 * ]
 */
interface NavItem {
    /** Display label for the nav entry. */
    label: string;
    /** Route path the item links to. */
    to: string;
    /** Tabler icon component (or any component accepting `size` + `style`). */
    icon: ComponentType<{
        size?: number;
        style?: React.CSSProperties;
    }>;
    /**
     * When `true`, the item is only active when the path matches exactly.
     * When `false`, it is active for any path that starts with `to`.
     */
    exact: boolean;
}

/**
 * @deprecated Used by the legacy `KnowledgeSidebarMiddle` (nav-items variant).
 * Retained as a published API surface for external consumers. The canonical
 * subshell sidebar is `KnowledgeSidebarMiddle` from `features/knowledge/sidebar/`.
 *
 * Default sidebar nav items for the Knowledge feature.
 *
 * Mirrors the `CRM_ITEMS` shape so it can be used directly with
 * `KnowledgeSidebarMiddle` or spread into a custom items array.
 *
 * @example
 * ```ts
 * import { KNOWLEDGE_ITEMS } from '@elevasis/ui/knowledge'
 * const customItems: NavItem[] = [
 *   ...KNOWLEDGE_ITEMS,
 *   { label: 'Internal Runbooks', to: '/knowledge/by-owner/internal', icon: IconBook, exact: false },
 * ]
 * ```
 */
declare const KNOWLEDGE_ITEMS: NavItem[];

type SemanticIconToken = string;
type TablerIconComponent = typeof IconBrain;
type SemanticIconRegistry = Record<SemanticIconToken, TablerIconComponent>;
declare function extendSemanticIconRegistry(overrides: SemanticIconRegistry): void;
declare function getSemanticIconComponent(token?: string | null, fallbackToken?: string): TablerIconComponent;
declare function resolveSemanticIconComponent(token?: string | null): TablerIconComponent | null;
interface SemanticIconProps {
    token?: string | null;
    fallbackToken?: string;
    size?: number;
    stroke?: number;
    className?: string;
    style?: CSSProperties;
    'aria-hidden'?: boolean;
}
declare function SemanticIcon({ token, fallbackToken, size, stroke, className, style, 'aria-hidden': ariaHidden }: SemanticIconProps): react_jsx_runtime.JSX.Element;

declare const KNOWLEDGE_ICON_TOKEN_BY_KIND: Record<OrgKnowledgeKind, SemanticIconToken>;
declare function getKnowledgeIconToken(node: OrgKnowledgeNode): string | undefined;

/**
 * Default v1 component allowlist for knowledge MDX bodies.
 *
 * Knowledge authors may use these components inside `body` strings.
 * Code blocks (`pre` / `code`) are handled by the MDX runtime's default
 * element mapping and do not need an explicit entry here; they receive
 * standard Mantine `Code` / `pre` wrappers via the provider's MDX config.
 *
 * Consumers may extend this map via `KnowledgeMDXProvider`'s
 * `extraComponents` prop. Extra entries override matching default keys.
 */
declare const KNOWLEDGE_ALLOWLIST: Record<string, ComponentType<any>>;

/**
 * The shape of the merged component map available to knowledge MDX renderers.
 * Keys are MDX component names (e.g. "Card", "Callout"); values are React component types.
 */
type KnowledgeAllowlistMap = Record<string, ComponentType<any>>;
interface KnowledgeMDXProviderProps {
    /**
     * Additional components to merge into the default allowlist.
     * Extra entries take precedence over the defaults, enabling consumers
     * to replace (e.g.) the default `Card` with a project-specific variant.
     */
    extraComponents?: Record<string, ComponentType<any>>;
    children: ReactNode;
}
/**
 * Provides the knowledge MDX component allowlist to its subtree via React context.
 *
 * Wrap any `KnowledgeNodeView` (or custom renderer that renders compiled MDX bodies)
 * with this provider. The merged allowlist is available via `useKnowledgeAllowlist()`.
 *
 * Merge order: `KNOWLEDGE_ALLOWLIST` defaults, then `extraComponents` override.
 *
 * @example
 * ```tsx
 * <KnowledgeMDXProvider extraComponents={{ Card: MyCustomCard }}>
 *   <KnowledgeNodeView node={node} />
 * </KnowledgeMDXProvider>
 * ```
 */
declare function KnowledgeMDXProvider({ extraComponents, children }: KnowledgeMDXProviderProps): react_jsx_runtime.JSX.Element;
/**
 * Returns the merged knowledge MDX component allowlist from the nearest
 * `KnowledgeMDXProvider` in the tree.
 *
 * Throws if called outside a `KnowledgeMDXProvider`.
 *
 * @example
 * ```tsx
 * const components = useKnowledgeAllowlist()
 * const Body = KNOWLEDGE_BODIES[node.id]
 * return <Body components={components} />
 * ```
 */
declare function useKnowledgeAllowlist(): KnowledgeAllowlistMap;

type KnowledgeBodyProps = {
    components?: Record<string, ComponentType>;
};
declare const KNOWLEDGE_BODIES: Record<string, ComponentType<KnowledgeBodyProps>>;

type DescribeTreeNodeType = 'group' | 'domain-collection' | 'domain' | 'item';
interface DescribeTreeSelectionNode {
    id?: string;
    value?: string;
    label: string;
    description?: string;
    nodeType: DescribeTreeNodeType;
    domainKey?: string;
    itemId?: string;
    children?: DescribeTreeSelectionNode[];
}
type DescribeSelectionNode = OrganizationGraphNode | DescribeTreeSelectionNode;
interface DescribeNodeViewProps {
    /** The graph node or semantic tree node to display. */
    node: DescribeSelectionNode;
    /** The organization graph, used to resolve edge relationships. */
    graph: OrganizationGraph;
    /** Full organization model, required for semantic domain/group tree selections. */
    organizationModel?: OrganizationModel;
    /** Full knowledge nodes from the organization model, used to hydrate graph knowledge stubs. */
    knowledgeNodes?: OrgKnowledgeNode[];
    /**
     * Optional callback when the user clicks a graph edge chip.
     * The raw graph node id is passed.
     */
    onNavigateToNode?: (graphNodeId: string) => void;
}
/**
 * Kind-dispatching describe view. Routes each `OrganizationGraphNode` kind to
 * its appropriate read-only detail component. Falls back to `GenericDescribeView`
 * for kinds that do not have a dedicated view or knowledge graph stubs that
 * cannot be hydrated from the organization model.
 */
declare function DescribeNodeView({ node, graph, organizationModel, knowledgeNodes, onNavigateToNode }: DescribeNodeViewProps): react_jsx_runtime.JSX.Element;

type DomainPanelKey = 'identity' | 'branding' | 'customers' | 'clients' | 'offerings' | 'goals' | 'roles' | 'statuses' | 'navigation' | 'policies' | 'ontology-objects' | 'ontology-links' | 'ontology-actions' | 'ontology-catalogs' | 'ontology-events' | 'ontology-interfaces' | 'ontology-value-types' | 'ontology-properties' | 'ontology-groups' | 'ontology-endpoints' | 'ontology-resources';
interface DomainPanelDispatcherProps {
    domainKey: string;
    model: OrganizationModel;
    onNavigateToNode?: (graphNodeId: string) => void;
    filterToItemId?: string;
}
declare function DomainPanelDispatcher({ domainKey, model, onNavigateToNode, filterToItemId }: DomainPanelDispatcherProps): react_jsx_runtime.JSX.Element;

interface SystemDescribeViewProps {
    node: OrganizationGraphNode;
    graph: OrganizationGraph;
    knowledgeNodes?: OrgKnowledgeNode[];
    onNavigateToNode?: (graphNodeId: string) => void;
    /** Optional full organization model; when provided, renders rich authored system fields. */
    organizationModel?: OrganizationModel;
}
/**
 * Describe view for system graph nodes.
 * Shows: header, kind chip, key fields (id, path, enabled, ui.path),
 * ui.icon, lifecycle, parent breadcrumb, responsible role, drives goals,
 * policies, governedByKnowledge, ui.surfaces, ui placement flags,
 * actions (exposes/consumes), owned entities, relationships,
 * and technical metadata.
 */
declare function SystemDescribeView({ node, graph, knowledgeNodes, onNavigateToNode, organizationModel }: SystemDescribeViewProps): react_jsx_runtime.JSX.Element;

interface ResourceDescribeViewProps {
    node: OrganizationGraphNode;
    graph: OrganizationGraph;
    knowledgeNodes?: OrgKnowledgeNode[];
    onNavigateToNode?: (graphNodeId: string) => void;
    /** Optional full organization model; when provided, renders kind-specific resource fields. */
    organizationModel?: OrganizationModel;
}
/**
 * Describe view for `resource` graph nodes.
 * Shows: header, resource metadata (type, status, owner role, system),
 * kind-specific content (workflow/agent/integration/script), and relationships.
 */
declare function ResourceDescribeView({ node, graph, knowledgeNodes, onNavigateToNode, organizationModel }: ResourceDescribeViewProps): react_jsx_runtime.JSX.Element;

interface OrganizationDescribeViewProps {
    node: OrganizationGraphNode;
    graph: OrganizationGraph;
    knowledgeNodes?: OrgKnowledgeNode[];
    onNavigateToNode?: (graphNodeId: string) => void;
    organizationModel?: OrganizationModel;
}
/**
 * Minimal describe view for `organization` graph nodes.
 * Shows: header, id, identity fields, relationships, technical metadata.
 */
declare function OrganizationDescribeView({ node, graph, knowledgeNodes, onNavigateToNode, organizationModel }: OrganizationDescribeViewProps): react_jsx_runtime.JSX.Element;

interface GenericDescribeViewProps {
    node: OrganizationGraphNode;
    graph: OrganizationGraph;
    knowledgeNodes?: OrgKnowledgeNode[];
    onNavigateToNode?: (graphNodeId: string) => void;
}
/**
 * Fallback describe view for unknown graph node kinds.
 * Renders a key/value table over all node properties.
 */
declare function GenericDescribeView({ node, graph, knowledgeNodes, onNavigateToNode }: GenericDescribeViewProps): react_jsx_runtime.JSX.Element;

type KindChipTone = 'subtle' | 'primary' | 'muted';
interface KindChipProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'children'> {
    kind: string;
    tone?: KindChipTone;
}
declare function KindChip({ kind, tone, style, ...spanProps }: KindChipProps): react_jsx_runtime.JSX.Element;
/** Authored-vs-projected provenance label for a knowledge node. */
type ProvenanceTag = 'MDX' | 'inline TS' | 'projected';
interface NodeHeaderProps {
    title: ReactNode;
    kind: string;
    tone?: KindChipTone;
    iconToken?: string;
    description?: ReactNode;
    updatedAt?: string;
    rightSection?: ReactNode;
    /**
     * Optional provenance chip rendered next to the kind chip.
     * Decision 7: subtle Badge indicating whether the node body is MDX-compiled,
     * inline TS, or graph-projected.
     */
    provenanceTag?: ProvenanceTag;
}
declare function NodeHeader({ title, kind, tone, iconToken, description, updatedAt, rightSection, provenanceTag }: NodeHeaderProps): react_jsx_runtime.JSX.Element;
interface RelatedKnowledgeSectionProps {
    nodeId: string;
    graph: OrganizationGraph;
    knowledgeNodes: OrgKnowledgeNode[];
    onNavigateToNode?: (nodeId: string) => void;
}
declare function RelatedKnowledgeSection({ nodeId, graph, knowledgeNodes, onNavigateToNode }: RelatedKnowledgeSectionProps): react_jsx_runtime.JSX.Element | null;
interface ExcludedEdgeFilter {
    kind: OrganizationGraph['edges'][number]['kind'];
    direction: 'outgoing' | 'incoming';
}
interface EdgeRelationshipGroupProps {
    nodeId: string;
    graph: OrganizationGraph;
    knowledgeNodes?: OrgKnowledgeNode[];
    onNavigateToNode?: (nodeId: string) => void;
    /**
     * Edge kind+direction pairs to suppress from the generic relationship panels.
     * Use this when a parent view renders a custom panel for that edge kind and
     * direction to avoid rendering the same chips twice.
     */
    excludeKinds?: ExcludedEdgeFilter[];
}
declare function EdgeRelationshipGroup({ nodeId, graph, knowledgeNodes, onNavigateToNode, excludeKinds }: EdgeRelationshipGroupProps): react_jsx_runtime.JSX.Element | null;
interface NodeMetadataFooterProps {
    node: OrganizationGraphNode;
    title?: string;
    /** Optional content rendered inside the details disclosure (e.g. graph relationships). */
    children?: ReactNode;
    /**
     * Source file path relative to the repo root (e.g.
     * `packages/elevasis-core/src/knowledge/nodes/platform/foo.mdx`).
     * When provided, rendered as an extra metadata row.
     */
    sourceFilePath?: string;
    /**
     * `domainMetadata.knowledge.lastModified` value from the OrganizationModel.
     * When provided, rendered as an extra "Domain version" metadata row.
     */
    domainVersion?: string;
}
declare function NodeMetadataFooter({ node, title, children, sourceFilePath, domainVersion }: NodeMetadataFooterProps): react_jsx_runtime.JSX.Element | null;
interface NodeDescribeShellProps {
    header?: ReactNode;
    content?: ReactNode;
    relationships?: ReactNode;
    footer?: ReactNode;
}
declare function NodeDescribeShell({ header, content, relationships, footer }: NodeDescribeShellProps): react_jsx_runtime.JSX.Element;

export { DescribeNodeView, DomainPanelDispatcher, EdgeRelationshipGroup, FILTERABLE_DOMAIN_KEYS, GenericDescribeView, KNOWLEDGE_ALLOWLIST, KNOWLEDGE_BODIES, KNOWLEDGE_DOMAINS_WITH_PANELS, KNOWLEDGE_ICON_TOKEN_BY_KIND, KNOWLEDGE_ITEMS, KindChip, KnowledgeBrowser, KnowledgeMDXProvider, KnowledgeNodeDetailRouteView, KnowledgeNodeList, KnowledgeNodeView, KnowledgeSearchBar, KnowledgeTree, NodeDescribeShell, NodeHeader, NodeMetadataFooter, OM_NESTED_TREE_GROUPS, OM_TREE_GROUPS, OrganizationDescribeView, RelatedKnowledgeSection, ResourceDescribeView, SemanticIcon, SystemDescribeView, buildKnowledgeOmTreeData, decodeKnowledgeRouteNodeId, extendSemanticIconRegistry, findKnowledgeTreeNodeByValue, findOmTreeGroup, formatKnowledgeDomainLabel, formatKnowledgeRouteTitle, getKnowledgeIconToken, getKnowledgeRouteBreadcrumbLabel, getSemanticIconComponent, getSharedOrganizationGraph, parseKnowledgeItemRouteId, resolveKnowledgeGraphNodeByRouteId, resolveKnowledgeRouteTarget, resolveSemanticIconComponent, useKnowledgeAllowlist };
export type { DescribeNodeViewProps, DomainPanelDispatcherProps, DomainPanelKey, EdgeRelationshipGroupProps, GenericDescribeViewProps, KindChipProps, KindChipTone, KnowledgeBrowserProps, KnowledgeFacetStates, KnowledgeItemRouteId, KnowledgeNodeDetailRouteViewProps, KnowledgeNodeListProps, KnowledgeNodeViewProps, KnowledgeRouteTarget, KnowledgeSearchBarProps, KnowledgeTreeNodeData, KnowledgeTreeProps, NodeDescribeShellProps, NodeHeaderProps, NodeMetadataFooterProps, OrganizationDescribeViewProps, RelatedKnowledgeSectionProps, ResourceDescribeViewProps, SemanticIconProps, SemanticIconRegistry, SemanticIconToken, SystemDescribeViewProps };
