import type { components } from '../generated/api.js';
import type { PhoneNumberId } from '../core/branded-types.js';
import { WorkspaceScopedResource } from './base.js';
import type { ListParams } from '../core/utils.js';
/**
 * Manage phone numbers — provision, configure, and release Twilio numbers
 * that are attached to agents for inbound/outbound calling.
 */
export declare class PhoneNumbersResource extends WorkspaceScopedResource {
    /** Create a new phone number */
    provision(body: components['schemas']['CreatePhoneNumberRequest']): Promise<{
        capabilities: string[];
        channel_phone_id?: string | null | undefined;
        created_at: string;
        display_name: string;
        forwarding: {
            enabled: boolean;
            forward_to: string;
            should_disconnect: boolean;
        } | null;
        id: string;
        inbound_service_id: string | null;
        notes: string;
        phone_number: string;
        provider: string;
        provider_phone_sid: string | null;
        status: string;
        updated_at: string;
        workspace_id: string;
    } & import("../index.js").ResponseMetadata>;
    /** List phone numbers in the workspace */
    list(params?: ListParams): Promise<{
        continuation_token?: number | null | undefined;
        has_more: boolean;
        items: {
            capabilities: string[];
            channel_phone_id?: string | null | undefined;
            created_at: string;
            display_name: string;
            forwarding: {
                enabled: boolean;
                forward_to: string;
                should_disconnect: boolean;
            } | null;
            id: string;
            inbound_service_id: string | null;
            notes: string;
            phone_number: string;
            provider: string;
            provider_phone_sid: string | null;
            status: string;
            updated_at: string;
            workspace_id: string;
        }[];
        total?: number | null | undefined;
    } & import("../index.js").ResponseMetadata>;
    listAutoPaging(params?: ListParams): AsyncGenerator<{
        capabilities: string[];
        channel_phone_id?: string | null | undefined;
        created_at: string;
        display_name: string;
        forwarding: {
            enabled: boolean;
            forward_to: string;
            should_disconnect: boolean;
        } | null;
        id: string;
        inbound_service_id: string | null;
        notes: string;
        phone_number: string;
        provider: string;
        provider_phone_sid: string | null;
        status: string;
        updated_at: string;
        workspace_id: string;
    }, any, any>;
    /** Get a phone number */
    get(phoneNumberId: PhoneNumberId | string): Promise<{
        capabilities: string[];
        channel_phone_id?: string | null | undefined;
        created_at: string;
        display_name: string;
        forwarding: {
            enabled: boolean;
            forward_to: string;
            should_disconnect: boolean;
        } | null;
        id: string;
        inbound_service_id: string | null;
        notes: string;
        phone_number: string;
        provider: string;
        provider_phone_sid: string | null;
        status: string;
        updated_at: string;
        workspace_id: string;
    } & import("../index.js").ResponseMetadata>;
    /** Update a phone number (assign to agent, rename) */
    update(phoneNumberId: PhoneNumberId | string, body: components['schemas']['UpdatePhoneNumberRequest']): Promise<{
        capabilities: string[];
        channel_phone_id?: string | null | undefined;
        created_at: string;
        display_name: string;
        forwarding: {
            enabled: boolean;
            forward_to: string;
            should_disconnect: boolean;
        } | null;
        id: string;
        inbound_service_id: string | null;
        notes: string;
        phone_number: string;
        provider: string;
        provider_phone_sid: string | null;
        status: string;
        updated_at: string;
        workspace_id: string;
    } & import("../index.js").ResponseMetadata>;
    /** Release a phone number back to the carrier */
    release(phoneNumberId: PhoneNumberId | string): Promise<void>;
    /** Set call forwarding for a phone number */
    setForwarding(phoneNumberId: PhoneNumberId | string, body: components['schemas']['ForwardingConfigRequest']): Promise<{
        capabilities: string[];
        channel_phone_id?: string | null | undefined;
        created_at: string;
        display_name: string;
        forwarding: {
            enabled: boolean;
            forward_to: string;
            should_disconnect: boolean;
        } | null;
        id: string;
        inbound_service_id: string | null;
        notes: string;
        phone_number: string;
        provider: string;
        provider_phone_sid: string | null;
        status: string;
        updated_at: string;
        workspace_id: string;
    } & import("../index.js").ResponseMetadata>;
    /** Clear call forwarding for a phone number */
    clearForwarding(phoneNumberId: PhoneNumberId | string): Promise<void>;
}
//# sourceMappingURL=phone-numbers.d.ts.map