import type { paths } from '../generated/api.js';
import { WorkspaceScopedResource } from './base.js';
export type CrmContactSearchParams = NonNullable<paths['/v1/{workspace_id}/crm/contacts']['get']['parameters']['query']>;
export type CrmCompanySearchParams = NonNullable<paths['/v1/{workspace_id}/crm/companies']['get']['parameters']['query']>;
export type CrmDealSearchParams = NonNullable<paths['/v1/{workspace_id}/crm/deals']['get']['parameters']['query']>;
/**
 * CRM — read-mostly view of contacts, companies, deals, and pipeline state
 * sourced from the connected CRM integration (HubSpot/Salesforce/etc.).
 *
 * The platform refreshes this view in the background; the SDK exposes search
 * + detail endpoints plus a per-contact activity timeline. Writes happen
 * upstream in the CRM itself, not here.
 *
 * @beta New in this release; surface may evolve.
 */
export declare class CrmResource extends WorkspaceScopedResource {
    /** Health/status of the workspace's CRM integration sync */
    getStatus(): Promise<{
        company_count?: number | undefined;
        configured: boolean;
        connector_type?: string | null | undefined;
        contact_count?: number | undefined;
        data_source_id?: string | null | undefined;
        deal_count?: number | undefined;
        last_sync_at?: string | null | undefined;
        last_sync_status?: ("success" | "error") | null | undefined;
        sync_failure_count?: number | undefined;
        sync_healthy?: boolean | null | undefined;
    } & import("../index.js").ResponseMetadata>;
    readonly contacts: {
        list: (params?: CrmContactSearchParams) => Promise<{
            contacts: {
                address?: {
                    [x: string]: unknown;
                } | null | undefined;
                birth_date?: string | null | undefined;
                company?: string | null | undefined;
                confidence?: number | undefined;
                created_at?: string | null | undefined;
                email?: string | null | undefined;
                entity_id: string;
                event_count?: number | undefined;
                first_name?: string | null | undefined;
                gender?: string | null | undefined;
                hubspot_id?: string | null | undefined;
                last_activity_at?: string | null | undefined;
                last_name?: string | null | undefined;
                lifecycle_stage?: string | null | undefined;
                mrn?: string | null | undefined;
                name?: string | null | undefined;
                phone?: string | null | undefined;
                source_system?: string | null | undefined;
            }[];
            has_more?: boolean | undefined;
            next_offset?: number | null | undefined;
            total: number;
        } & import("../index.js").ResponseMetadata>;
        get: (contactId: string) => Promise<{
            address?: {
                [x: string]: unknown;
            } | null | undefined;
            birth_date?: string | null | undefined;
            canonical_id?: string | null | undefined;
            clinical?: {
                [x: string]: unknown;
            } | undefined;
            company?: string | null | undefined;
            confidence?: number | undefined;
            created_at?: string | null | undefined;
            email?: string | null | undefined;
            entity_id: string;
            event_count?: number | undefined;
            external_ids?: {
                [x: string]: unknown;
            } | undefined;
            first_name?: string | null | undefined;
            gender?: string | null | undefined;
            hubspot_id?: string | null | undefined;
            last_activity_at?: string | null | undefined;
            last_name?: string | null | undefined;
            lifecycle_stage?: string | null | undefined;
            merged_with?: {
                address?: {
                    [x: string]: unknown;
                } | null | undefined;
                birth_date?: string | null | undefined;
                company?: string | null | undefined;
                confidence?: number | undefined;
                created_at?: string | null | undefined;
                email?: string | null | undefined;
                entity_id: string;
                event_count?: number | undefined;
                first_name?: string | null | undefined;
                gender?: string | null | undefined;
                hubspot_id?: string | null | undefined;
                last_activity_at?: string | null | undefined;
                last_name?: string | null | undefined;
                lifecycle_stage?: string | null | undefined;
                mrn?: string | null | undefined;
                name?: string | null | undefined;
                phone?: string | null | undefined;
                source_system?: string | null | undefined;
            }[] | undefined;
            mrn?: string | null | undefined;
            name?: string | null | undefined;
            operational?: {
                [x: string]: unknown;
            } | undefined;
            phone?: string | null | undefined;
            source_system?: string | null | undefined;
        } & import("../index.js").ResponseMetadata>;
        /** Per-contact activity timeline (calls, emails, deal events) */
        getTimeline: (contactId: string) => Promise<{
            activities: {
                activity_type: string;
                confidence?: number | undefined;
                data?: {
                    [x: string]: unknown;
                } | undefined;
                description?: string | null | undefined;
                direction?: string | null | undefined;
                id: string;
                occurred_at?: string | null | undefined;
                source?: string | undefined;
                source_system?: string | null | undefined;
            }[];
            entity_id: string;
            has_more?: boolean | undefined;
            total: number;
        } & import("../index.js").ResponseMetadata>;
    };
    readonly companies: {
        list: (params?: CrmCompanySearchParams) => Promise<{
            companies: {
                address?: {
                    [x: string]: unknown;
                } | null | undefined;
                created_at?: string | null | undefined;
                domain?: string | null | undefined;
                entity_id: string;
                event_count?: number | undefined;
                hubspot_id?: string | null | undefined;
                industry?: string | null | undefined;
                last_activity_at?: string | null | undefined;
                name?: string | null | undefined;
                phone?: string | null | undefined;
                source_system?: string | null | undefined;
            }[];
            has_more?: boolean | undefined;
            next_offset?: number | null | undefined;
            total: number;
        } & import("../index.js").ResponseMetadata>;
        get: (companyId: string) => Promise<{
            address?: {
                [x: string]: unknown;
            } | null | undefined;
            created_at?: string | null | undefined;
            domain?: string | null | undefined;
            entity_id: string;
            event_count?: number | undefined;
            hubspot_id?: string | null | undefined;
            industry?: string | null | undefined;
            last_activity_at?: string | null | undefined;
            name?: string | null | undefined;
            phone?: string | null | undefined;
            source_system?: string | null | undefined;
        } & import("../index.js").ResponseMetadata>;
    };
    readonly deals: {
        list: (params?: CrmDealSearchParams) => Promise<{
            deals: {
                amount?: number | null | undefined;
                close_date?: string | null | undefined;
                created_at?: string | null | undefined;
                deal_type?: string | null | undefined;
                entity_id: string;
                event_count?: number | undefined;
                hubspot_id?: string | null | undefined;
                last_activity_at?: string | null | undefined;
                name?: string | null | undefined;
                pipeline?: string | null | undefined;
                stage?: string | null | undefined;
            }[];
            has_more?: boolean | undefined;
            next_offset?: number | null | undefined;
            total: number;
        } & import("../index.js").ResponseMetadata>;
        get: (dealId: string) => Promise<{
            amount?: number | null | undefined;
            close_date?: string | null | undefined;
            created_at?: string | null | undefined;
            deal_type?: string | null | undefined;
            entity_id: string;
            event_count?: number | undefined;
            hubspot_id?: string | null | undefined;
            last_activity_at?: string | null | undefined;
            name?: string | null | undefined;
            pipeline?: string | null | undefined;
            stage?: string | null | undefined;
        } & import("../index.js").ResponseMetadata>;
        /** Aggregated pipeline view: deals grouped by stage with rolled-up totals */
        getPipeline: () => Promise<{
            [x: string]: unknown;
        } & import("../index.js").ResponseMetadata>;
    };
}
//# sourceMappingURL=crm.d.ts.map