import type { components, operations } from '../generated/api.js';
import { WorkspaceScopedResource } from './base.js';
export type EscalationStatsParams = NonNullable<operations['escalation-stats']['parameters']['query']>;
export declare class OperatorsResource extends WorkspaceScopedResource {
    list(params?: {
        status?: string;
        limit?: number;
        offset?: number;
    }): Promise<{
        continuation_token?: number | null | undefined;
        has_more: boolean;
        items: {
            active_call_sid?: string | null | undefined;
            avg_handle_time_seconds: number;
            connection_method: "browser" | "phone";
            created_at?: string | null | undefined;
            email?: string | null | undefined;
            id: string;
            last_call_at?: string | null | undefined;
            last_status_change?: string | null | undefined;
            name?: string | null | undefined;
            phone_number?: string | null | undefined;
            role: "operator" | "supervisor" | "admin";
            skills: string[];
            status: "online" | "busy" | "offline";
            total_escalations_handled: number;
            type?: ("clinical" | "administrative" | "crisis_counselor") | null | undefined;
            updated_at?: string | null | undefined;
            workspace_id: string;
        }[];
        total?: number | null | undefined;
    } & import("../index.js").ResponseMetadata>;
    listAutoPaging(params?: {
        status?: string;
        limit?: number;
        offset?: number;
    }): AsyncGenerator<{
        active_call_sid?: string | null | undefined;
        avg_handle_time_seconds: number;
        connection_method: "browser" | "phone";
        created_at?: string | null | undefined;
        email?: string | null | undefined;
        id: string;
        last_call_at?: string | null | undefined;
        last_status_change?: string | null | undefined;
        name?: string | null | undefined;
        phone_number?: string | null | undefined;
        role: "operator" | "supervisor" | "admin";
        skills: string[];
        status: "online" | "busy" | "offline";
        total_escalations_handled: number;
        type?: ("clinical" | "administrative" | "crisis_counselor") | null | undefined;
        updated_at?: string | null | undefined;
        workspace_id: string;
    }, any, any>;
    create(body: components['schemas']['CreateOperatorRequest']): Promise<{
        active_call_sid?: string | null | undefined;
        avg_handle_time_seconds: number;
        connection_method: "browser" | "phone";
        created_at?: string | null | undefined;
        email?: string | null | undefined;
        id: string;
        last_call_at?: string | null | undefined;
        last_status_change?: string | null | undefined;
        name?: string | null | undefined;
        phone_number?: string | null | undefined;
        role: "operator" | "supervisor" | "admin";
        skills: string[];
        status: "online" | "busy" | "offline";
        total_escalations_handled: number;
        type?: ("clinical" | "administrative" | "crisis_counselor") | null | undefined;
        updated_at?: string | null | undefined;
        workspace_id: string;
    } & import("../index.js").ResponseMetadata>;
    get(operatorId: string): Promise<{
        active_call_sid?: string | null | undefined;
        avg_handle_time_seconds: number;
        connection_method: "browser" | "phone";
        created_at?: string | null | undefined;
        email?: string | null | undefined;
        id: string;
        last_call_at?: string | null | undefined;
        last_status_change?: string | null | undefined;
        name?: string | null | undefined;
        phone_number?: string | null | undefined;
        role: "operator" | "supervisor" | "admin";
        skills: string[];
        status: "online" | "busy" | "offline";
        total_escalations_handled: number;
        type?: ("clinical" | "administrative" | "crisis_counselor") | null | undefined;
        updated_at?: string | null | undefined;
        workspace_id: string;
    } & import("../index.js").ResponseMetadata>;
    /** Update an operator (name, role, status, etc.) */
    update(operatorId: string, body: components['schemas']['UpdateOperatorRequest']): Promise<{
        active_call_sid?: string | null | undefined;
        avg_handle_time_seconds: number;
        connection_method: "browser" | "phone";
        created_at?: string | null | undefined;
        email?: string | null | undefined;
        id: string;
        last_call_at?: string | null | undefined;
        last_status_change?: string | null | undefined;
        name?: string | null | undefined;
        phone_number?: string | null | undefined;
        role: "operator" | "supervisor" | "admin";
        skills: string[];
        status: "online" | "busy" | "offline";
        total_escalations_handled: number;
        type?: ("clinical" | "administrative" | "crisis_counselor") | null | undefined;
        updated_at?: string | null | undefined;
        workspace_id: string;
    } & import("../index.js").ResponseMetadata>;
    getDashboard(): Promise<{
        active_escalations: number;
        escalations_today: {
            avg_handle_time_seconds?: number | null | undefined;
            avg_wait_seconds?: number | null | undefined;
            completed?: number | undefined;
            connected?: number | undefined;
            requested?: number | undefined;
        };
        operators: {
            busy: number;
            offline: number;
            online: number;
            total: number;
        };
        recent_escalations: {
            call_entity_id: string;
            call_sid?: string | null | undefined;
            caller_id?: string | null | undefined;
            concept?: string | null | undefined;
            connected_at?: string | null | undefined;
            direction?: ("inbound" | "outbound" | "playground" | "simulated" | "test") | null | undefined;
            escalation_id?: string | null | undefined;
            immediate: boolean;
            operator_entity_id?: string | null | undefined;
            operator_type?: ("clinical" | "administrative" | "crisis_counselor") | null | undefined;
            phone_number?: string | null | undefined;
            regulatory_basis?: string | null | undefined;
            requested_at?: string | null | undefined;
            risk_score?: number | null | undefined;
            started_at?: string | null | undefined;
            status: string;
            trigger?: string | null | undefined;
            trigger_source?: string | null | undefined;
            wait_seconds?: number | null | undefined;
        }[];
        workspace_id: string;
    } & import("../index.js").ResponseMetadata>;
    getQueue(): Promise<{
        queue: {
            brief_context?: string | null | undefined;
            call_sid: string;
            caller_id?: string | undefined;
            caller_phone?: string | null | undefined;
            current_emotion?: string | null | undefined;
            current_state?: string | undefined;
            current_valence?: number | null | undefined;
            data_quality_flags?: "invalid_direction"[] | undefined;
            direction?: "inbound" | "outbound" | "playground" | "simulated" | "test" | undefined;
            entity_name?: string | null | undefined;
            escalation_active?: boolean | undefined;
            priority_reasons?: ("high_risk" | "long_wait" | "negative_emotion" | "safety_concern" | "looping")[] | undefined;
            priority_score: number;
            risk_level?: ("low" | "medium" | "high" | "critical") | null | undefined;
            risk_score?: number | null | undefined;
            service_id?: string | undefined;
            service_name?: (components["schemas"]["NameString"] | null) | undefined;
            started_at?: string | null | undefined;
            turn_count?: number | undefined;
            wait_seconds?: number | undefined;
        }[];
        total_active: number;
        workspace_id: string;
    } & import("../index.js").ResponseMetadata>;
    getEscalations(params?: {
        status?: string;
        limit?: number;
        offset?: number;
    }): Promise<{
        continuation_token?: number | null | undefined;
        has_more: boolean;
        items: {
            confidence: number;
            created_at?: string | null | undefined;
            data: {
                [x: string]: unknown;
            };
            event_type: string;
            id: string;
            ingested_at?: string | null | undefined;
            source: string;
            workspace_id: string;
        }[];
        total?: number | null | undefined;
    } & import("../index.js").ResponseMetadata>;
    getEscalationsAutoPaging(params?: {
        status?: string;
        limit?: number;
        offset?: number;
    }): AsyncGenerator<{
        confidence: number;
        created_at?: string | null | undefined;
        data: {
            [x: string]: unknown;
        };
        event_type: string;
        id: string;
        ingested_at?: string | null | undefined;
        source: string;
        workspace_id: string;
    }, any, any>;
    getActiveEscalations(): Promise<{
        continuation_token?: number | null | undefined;
        has_more: boolean;
        items: {
            call_entity_id: string;
            call_sid?: string | null | undefined;
            caller_id?: string | null | undefined;
            concept?: string | null | undefined;
            connected_at?: string | null | undefined;
            direction?: ("inbound" | "outbound" | "playground" | "simulated" | "test") | null | undefined;
            escalation_id?: string | null | undefined;
            immediate: boolean;
            operator_entity_id?: string | null | undefined;
            operator_type?: ("clinical" | "administrative" | "crisis_counselor") | null | undefined;
            phone_number?: string | null | undefined;
            regulatory_basis?: string | null | undefined;
            requested_at?: string | null | undefined;
            risk_score?: number | null | undefined;
            started_at?: string | null | undefined;
            status: string;
            trigger?: string | null | undefined;
            trigger_source?: string | null | undefined;
            wait_seconds?: number | null | undefined;
        }[];
        total?: number | null | undefined;
    } & import("../index.js").ResponseMetadata>;
    getEscalationStats(params?: EscalationStatsParams): Promise<{
        buckets: {
            count: number;
            key: string;
        }[];
        group_by: string;
        period: string;
        total: number;
        workspace_id: string;
    } & import("../index.js").ResponseMetadata>;
    getPerformance(params?: {
        days?: number;
        date_from?: string | null;
        date_to?: string | null;
        interval?: '1h' | '1d' | '1w';
        service_id?: string | null;
    }): Promise<{
        avg_handle_time_seconds: number;
        busy: number;
        offline: number;
        online: number;
        operators: {
            avg_handle_time_seconds: number;
            last_call_at?: string | null | undefined;
            name?: string | null | undefined;
            operator_id: string;
            status: "online" | "busy" | "offline";
            total_escalations_handled: number;
        }[];
        total_escalations_handled: number;
        total_operators: number;
        workspace_id: string;
    } & import("../index.js").ResponseMetadata>;
    getAccessToken(operatorId: string, body: components['schemas']['AccessTokenRequest']): Promise<{
        conference_sid: string;
        connect_params?: {
            [x: string]: string;
        } | undefined;
        identity: string;
        token: string;
    } & import("../index.js").ResponseMetadata>;
    joinCall(operatorId: string, body: components['schemas']['JoinCallRequest']): Promise<{
        conference_sid: string;
        mode: "listen" | "takeover";
        operator_entity_id: string;
        participant_call_sid: string;
    } & import("../index.js").ResponseMetadata>;
    leaveCall(operatorId: string, body: components['schemas']['LeaveCallRequest']): Promise<{
        success: boolean;
    } & import("../index.js").ResponseMetadata>;
    switchMode(operatorId: string, body: components['schemas']['SwitchModeRequest']): Promise<{
        mode: "listen" | "takeover";
    } & import("../index.js").ResponseMetadata>;
    sendGuidance(operatorId: string, body: components['schemas']['SendGuidanceRequest']): Promise<{
        call_sid: string;
        status: "delivered" | "failed";
    } & import("../index.js").ResponseMetadata>;
    createBriefing(operatorId: string, body: {
        call_sid: string;
    }): Promise<{
        call_sid: string;
        generated_at: string;
        operator_id: string;
        sections: {
            content: string;
            title: string;
        }[];
    } & import("../index.js").ResponseMetadata>;
    wrapUp(operatorId: string, body: components['schemas']['WrapUpRequest']): Promise<{
        success: boolean;
    } & import("../index.js").ResponseMetadata>;
    getCallTranscript(callSid: string): Promise<{
        call_entity_id: string;
        call_sid: string | null;
        segments: {
            confidence: number;
            escalation_id: string | null;
            speaker_role: string;
            timestamp: string | null;
            transcript: string;
        }[];
        total_segments: number;
    } & import("../index.js").ResponseMetadata>;
    getAuditLog(params?: {
        limit?: number;
        offset?: number;
    }): Promise<{
        continuation_token?: number | null | undefined;
        has_more: boolean;
        items: {
            created_at?: string | null | undefined;
            data: {
                [x: string]: unknown;
            };
            event_type: string;
            id: string;
            ingested_at?: string | null | undefined;
            source: string;
            workspace_id: string;
        }[];
        total?: number | null | undefined;
    } & import("../index.js").ResponseMetadata>;
    getAuditLogAutoPaging(params?: {
        limit?: number;
        offset?: number;
    }): AsyncGenerator<{
        created_at?: string | null | undefined;
        data: {
            [x: string]: unknown;
        };
        event_type: string;
        id: string;
        ingested_at?: string | null | undefined;
        source: string;
        workspace_id: string;
    }, any, any>;
}
//# sourceMappingURL=operators.d.ts.map