import type { EntityId } from '../core/branded-types.js';
import { WorkspaceScopedResource } from './base.js';
/**
 * World Model — entities, events, relationships, and the entity timeline.
 *
 * The world model is the core knowledge graph of the platform. Entities
 * represent real-world objects (patients, contacts, calls). Events record
 * observations about entities over time.
 */
export declare class WorldResource extends WorkspaceScopedResource {
    /** List entities with optional filtering */
    listEntities(params?: {
        entity_type?: string[] | null;
        q?: string | null;
        limit?: number;
        offset?: number;
        order?: string | null;
        has_projection?: boolean | null;
        source?: string | null;
        source_system?: string | null;
        fhir_resource_type?: string | null;
    }): Promise<{
        entities: {
            appointment_end?: string | null | undefined;
            appointment_start?: string | null | undefined;
            appointment_status?: string | null | undefined;
            appointment_type?: string | null | undefined;
            birth_date?: string | null | undefined;
            call_sid?: string | null | undefined;
            canonical_id?: string | null | undefined;
            confidence?: number | undefined;
            created_at?: string | null | undefined;
            direction?: string | null | undefined;
            display_name?: string | null | undefined;
            domain?: string | null | undefined;
            duration_seconds?: number | null | undefined;
            email?: string | null | undefined;
            entity_type: string;
            event_count?: number | undefined;
            external_ids?: {
                [x: string]: unknown;
            } | undefined;
            first_seen_at?: string | null | undefined;
            gender?: string | null | undefined;
            has_projection?: boolean | undefined;
            id: string;
            industry?: string | null | undefined;
            last_event_at?: string | null | undefined;
            mrn?: string | null | undefined;
            name?: string | null | undefined;
            phone?: string | null | undefined;
            source?: string | null | undefined;
            state?: {
                [x: string]: unknown;
            } | undefined;
            status?: string | null | undefined;
            tags?: string[] | null | undefined;
            updated_at?: string | null | undefined;
            workspace_id: string;
        }[];
        has_more: boolean;
        next_offset?: number | null | undefined;
        total: number;
    } & import("../index.js").ResponseMetadata>;
    listEntitiesAutoPaging(params?: {
        entity_type?: string[] | null;
        q?: string | null;
        limit?: number;
        offset?: number;
        order?: string | null;
        has_projection?: boolean | null;
        source?: string | null;
        source_system?: string | null;
        fhir_resource_type?: string | null;
    }): AsyncGenerator<{
        appointment_end?: string | null | undefined;
        appointment_start?: string | null | undefined;
        appointment_status?: string | null | undefined;
        appointment_type?: string | null | undefined;
        birth_date?: string | null | undefined;
        call_sid?: string | null | undefined;
        canonical_id?: string | null | undefined;
        confidence?: number | undefined;
        created_at?: string | null | undefined;
        direction?: string | null | undefined;
        display_name?: string | null | undefined;
        domain?: string | null | undefined;
        duration_seconds?: number | null | undefined;
        email?: string | null | undefined;
        entity_type: string;
        event_count?: number | undefined;
        external_ids?: {
            [x: string]: unknown;
        } | undefined;
        first_seen_at?: string | null | undefined;
        gender?: string | null | undefined;
        has_projection?: boolean | undefined;
        id: string;
        industry?: string | null | undefined;
        last_event_at?: string | null | undefined;
        mrn?: string | null | undefined;
        name?: string | null | undefined;
        phone?: string | null | undefined;
        source?: string | null | undefined;
        state?: {
            [x: string]: unknown;
        } | undefined;
        status?: string | null | undefined;
        tags?: string[] | null | undefined;
        updated_at?: string | null | undefined;
        workspace_id: string;
    }, any, any>;
    /** Get a single entity */
    getEntity(entityId: EntityId | string): Promise<{
        appointment_end?: string | null | undefined;
        appointment_start?: string | null | undefined;
        appointment_status?: string | null | undefined;
        appointment_type?: string | null | undefined;
        birth_date?: string | null | undefined;
        call_sid?: string | null | undefined;
        canonical_id?: string | null | undefined;
        confidence?: number | undefined;
        created_at?: string | null | undefined;
        direction?: string | null | undefined;
        display_name?: string | null | undefined;
        domain?: string | null | undefined;
        duration_seconds?: number | null | undefined;
        email?: string | null | undefined;
        entity_type: string;
        event_count?: number | undefined;
        external_ids?: {
            [x: string]: unknown;
        } | undefined;
        first_seen_at?: string | null | undefined;
        gender?: string | null | undefined;
        has_projection?: boolean | undefined;
        id: string;
        industry?: string | null | undefined;
        last_event_at?: string | null | undefined;
        mrn?: string | null | undefined;
        name?: string | null | undefined;
        phone?: string | null | undefined;
        source?: string | null | undefined;
        state?: {
            [x: string]: unknown;
        } | undefined;
        status?: string | null | undefined;
        tags?: string[] | null | undefined;
        updated_at?: string | null | undefined;
        workspace_id: string;
    } & import("../index.js").ResponseMetadata>;
    /** Get all relationships for an entity */
    getRelationships(entityId: EntityId | string): Promise<{
        entity_id: string;
        relationships: {
            confidence?: number | undefined;
            created_at?: string | null | undefined;
            data?: {
                [x: string]: unknown;
            } | undefined;
            discovered_by?: string | null | undefined;
            id: string;
            is_current?: boolean | undefined;
            relationship: string;
            source_entity_id: string;
            source_entity_type: string;
            target_entity_id: string;
            target_entity_type: string;
        }[];
        total: number;
    } & import("../index.js").ResponseMetadata>;
    /** Get the knowledge graph centered on an entity (entity + neighbors + edges) */
    getGraph(entityId: EntityId | string): Promise<{
        [x: string]: unknown;
    } & import("../index.js").ResponseMetadata>;
    /** Get provenance — which source systems contributed data for an entity */
    getProvenance(entityId: EntityId | string): Promise<{
        [x: string]: unknown;
    } & import("../index.js").ResponseMetadata>;
    /** Get lineage — merge history and canonical identity for an entity */
    getLineage(entityId: EntityId | string): Promise<{
        [x: string]: unknown;
    } & import("../index.js").ResponseMetadata>;
    /** Get merged entities for a canonical entity */
    getMerged(entityId: EntityId | string): Promise<{
        entity_id: string;
        linked_entities: {
            appointment_end?: string | null | undefined;
            appointment_start?: string | null | undefined;
            appointment_status?: string | null | undefined;
            appointment_type?: string | null | undefined;
            birth_date?: string | null | undefined;
            call_sid?: string | null | undefined;
            canonical_id?: string | null | undefined;
            confidence?: number | undefined;
            created_at?: string | null | undefined;
            direction?: string | null | undefined;
            display_name?: string | null | undefined;
            domain?: string | null | undefined;
            duration_seconds?: number | null | undefined;
            email?: string | null | undefined;
            entity_type: string;
            event_count?: number | undefined;
            external_ids?: {
                [x: string]: unknown;
            } | undefined;
            first_seen_at?: string | null | undefined;
            gender?: string | null | undefined;
            has_projection?: boolean | undefined;
            id: string;
            industry?: string | null | undefined;
            last_event_at?: string | null | undefined;
            mrn?: string | null | undefined;
            name?: string | null | undefined;
            phone?: string | null | undefined;
            source?: string | null | undefined;
            state?: {
                [x: string]: unknown;
            } | undefined;
            status?: string | null | undefined;
            tags?: string[] | null | undefined;
            updated_at?: string | null | undefined;
            workspace_id: string;
        }[];
        total: number;
    } & import("../index.js").ResponseMetadata>;
    /** Get connected data sources overview with entity counts and sync status */
    getConnectors(): Promise<{
        connectors: {
            connector_type: string;
            data_source_id: string;
            display_name?: string | null | undefined;
            entities_by_type?: {
                [x: string]: number;
            } | undefined;
            entity_count: number;
            health_status?: "unknown" | "healthy" | "degraded" | undefined;
            is_active?: boolean | undefined;
            last_sync_at?: string | null | undefined;
            last_sync_event_count?: number | undefined;
            last_sync_status?: ("success" | "error") | null | undefined;
            name: string;
            source_type: string;
        }[];
        total_entities: number;
    } & import("../index.js").ResponseMetadata>;
    /** List entities from a specific connector / data source */
    getConnectorEntities(dataSourceId: string, params?: {
        entity_type?: string | null;
        q?: string | null;
        limit?: number;
        offset?: number;
    }): Promise<{
        entities: {
            appointment_end?: string | null | undefined;
            appointment_start?: string | null | undefined;
            appointment_status?: string | null | undefined;
            appointment_type?: string | null | undefined;
            birth_date?: string | null | undefined;
            call_sid?: string | null | undefined;
            canonical_id?: string | null | undefined;
            confidence?: number | undefined;
            created_at?: string | null | undefined;
            direction?: string | null | undefined;
            display_name?: string | null | undefined;
            domain?: string | null | undefined;
            duration_seconds?: number | null | undefined;
            email?: string | null | undefined;
            entity_type: string;
            event_count?: number | undefined;
            external_ids?: {
                [x: string]: unknown;
            } | undefined;
            first_seen_at?: string | null | undefined;
            gender?: string | null | undefined;
            has_projection?: boolean | undefined;
            id: string;
            industry?: string | null | undefined;
            last_event_at?: string | null | undefined;
            mrn?: string | null | undefined;
            name?: string | null | undefined;
            phone?: string | null | undefined;
            source?: string | null | undefined;
            state?: {
                [x: string]: unknown;
            } | undefined;
            status?: string | null | undefined;
            tags?: string[] | null | undefined;
            updated_at?: string | null | undefined;
            workspace_id: string;
        }[];
        has_more: boolean;
        next_offset?: number | null | undefined;
        total: number;
    } & import("../index.js").ResponseMetadata>;
    /** Search FHIR resources from a specific data source */
    getConnectorResources(dataSourceId: string, params: {
        resource_type: string;
        _count?: number;
        _offset?: number;
    }): Promise<{
        data_source_id: string;
        entries: {
            [x: string]: unknown;
        }[];
        resource_type: string;
        total: number;
    } & import("../index.js").ResponseMetadata>;
    /** List registered entity types with counts and schemas */
    listEntityTypes(): Promise<{
        entity_types: {
            count: number;
            entity_type: string;
            has_projection: boolean;
            last_updated: string | null;
        }[];
        total_entities: number;
    } & import("../index.js").ResponseMetadata>;
    /** List potential duplicate entity pairs for review or merging */
    listDuplicates(params?: {
        entity_type?: string | null;
        confidence_max?: number;
    }): Promise<{
        [x: string]: unknown;
    }[] & import("../index.js").ResponseMetadata>;
    /** Semantic (vector) search over entities */
    search(params: {
        q: string;
        entity_type?: string | null;
        source?: string | null;
        confidence_min?: number | null;
        limit?: number;
        offset?: number;
    }): Promise<{
        [x: string]: unknown;
    } & import("../index.js").ResponseMetadata>;
    /** Get the event timeline for an entity (reverse-chronological) */
    getTimeline(entityId: EntityId | string, params?: {
        domain?: string | null;
        limit?: number;
        offset?: number;
    }): Promise<{
        entity_id: string;
        events: {
            amount?: number | null | undefined;
            call_sid?: (import("../index.js").components["schemas"]["EventCallSidString"] | null) | undefined;
            channel?: (import("../index.js").components["schemas"]["EventChannelString"] | null) | undefined;
            confidence?: number | null | undefined;
            created_at?: string | null | undefined;
            data?: {
                [x: string]: unknown;
            } | undefined;
            description?: (import("../index.js").components["schemas"]["EventDescriptionString"] | null) | undefined;
            direction?: (import("../index.js").components["schemas"]["EventDirectionString"] | null) | undefined;
            display_name?: (import("../index.js").components["schemas"]["EventDisplayNameString"] | null) | undefined;
            domain: string;
            duration_seconds?: number | null | undefined;
            effective_at?: string | null | undefined;
            entity_type?: string | null | undefined;
            event_subtype?: string | null | undefined;
            event_type: string;
            fhir_resource_id?: string | null | undefined;
            fhir_resource_type?: string | null | undefined;
            id: string;
            ingested_at?: string | null | undefined;
            is_current?: boolean | null | undefined;
            outcome?: (import("../index.js").components["schemas"]["EventOutcomeString"] | null) | undefined;
            produced_by_agent?: string | null | undefined;
            source?: string | null | undefined;
            source_system?: string | null | undefined;
            status?: (import("../index.js").components["schemas"]["EventStatusString"] | null) | undefined;
            supersedes?: string | null | undefined;
            sync_error?: string | null | undefined;
            sync_status?: ("pending" | "synced" | "failed" | "processing" | "not_applicable") | null | undefined;
            synced_at?: string | null | undefined;
        }[];
        has_more: boolean;
        next_offset?: number | null | undefined;
        total: number;
    } & import("../index.js").ResponseMetadata>;
    getTimelineAutoPaging(entityId: EntityId | string, params?: {
        domain?: string | null;
        limit?: number;
        offset?: number;
    }): AsyncGenerator<{
        amount?: number | null | undefined;
        call_sid?: (import("../index.js").components["schemas"]["EventCallSidString"] | null) | undefined;
        channel?: (import("../index.js").components["schemas"]["EventChannelString"] | null) | undefined;
        confidence?: number | null | undefined;
        created_at?: string | null | undefined;
        data?: {
            [x: string]: unknown;
        } | undefined;
        description?: (import("../index.js").components["schemas"]["EventDescriptionString"] | null) | undefined;
        direction?: (import("../index.js").components["schemas"]["EventDirectionString"] | null) | undefined;
        display_name?: (import("../index.js").components["schemas"]["EventDisplayNameString"] | null) | undefined;
        domain: string;
        duration_seconds?: number | null | undefined;
        effective_at?: string | null | undefined;
        entity_type?: string | null | undefined;
        event_subtype?: string | null | undefined;
        event_type: string;
        fhir_resource_id?: string | null | undefined;
        fhir_resource_type?: string | null | undefined;
        id: string;
        ingested_at?: string | null | undefined;
        is_current?: boolean | null | undefined;
        outcome?: (import("../index.js").components["schemas"]["EventOutcomeString"] | null) | undefined;
        produced_by_agent?: string | null | undefined;
        source?: string | null | undefined;
        source_system?: string | null | undefined;
        status?: (import("../index.js").components["schemas"]["EventStatusString"] | null) | undefined;
        supersedes?: string | null | undefined;
        sync_error?: string | null | undefined;
        sync_status?: ("pending" | "synced" | "failed" | "processing" | "not_applicable") | null | undefined;
        synced_at?: string | null | undefined;
    }, any, any>;
    /** Get sync status grouped by sink (Lakebase, Delta, etc.) */
    getSyncStatusBySink(): Promise<{
        sinks: {
            data_source_id: string;
            failed: number;
            name: string;
            pending: number;
            source_type: string;
            synced: number;
            total: number;
        }[];
    } & import("../index.js").ResponseMetadata>;
    /** Get aggregate entity and event statistics */
    getStats(): Promise<{
        by_event_type?: {
            [x: string]: number;
        } | undefined;
        event_type_window_days?: number | null | undefined;
        sync_failed: number;
        sync_pending: number;
        sync_synced: number;
        total_entities: number;
        total_events: number;
    } & import("../index.js").ResponseMetadata>;
    /** Get entity counts broken down by source system */
    getSourceBreakdown(): Promise<{
        breakdown: {
            count: number;
            entity_type: string;
            source_system: string;
        }[];
        total: number;
    } & import("../index.js").ResponseMetadata>;
}
//# sourceMappingURL=world.d.ts.map