import * as Core from 'cloudflare/core';
import { APIResource } from 'cloudflare/resource';
import * as CallsAPI from 'cloudflare/resources/calls';
export declare class Calls extends APIResource {
    /**
     * Creates a new Cloudflare calls app. An app is an unique enviroment where each
     * Session can access all Tracks within the app.
     */
    create(params: CallCreateParams, options?: Core.RequestOptions): Core.APIPromise<CallsAppWithSecret>;
    /**
     * Edit details for a single app.
     */
    update(appId: string, params: CallUpdateParams, options?: Core.RequestOptions): Core.APIPromise<CallsApp>;
    /**
     * Lists all apps in the Cloudflare account
     */
    list(params: CallListParams, options?: Core.RequestOptions): Core.APIPromise<CallListResponse>;
    /**
     * Deletes an app from Cloudflare Calls
     */
    delete(appId: string, params: CallDeleteParams, options?: Core.RequestOptions): Core.APIPromise<CallsApp>;
    /**
     * Fetches details for a single Calls app.
     */
    get(appId: string, params: CallGetParams, options?: Core.RequestOptions): Core.APIPromise<CallsApp>;
}
export interface CallsApp {
    /**
     * The date and time the item was created.
     */
    created?: string;
    /**
     * The date and time the item was last modified.
     */
    modified?: string;
    /**
     * A short description of Calls app, not shown to end users.
     */
    name?: string;
    /**
     * A Cloudflare-generated unique identifier for a item.
     */
    uid?: string;
}
export interface CallsAppWithSecret {
    /**
     * The date and time the item was created.
     */
    created?: string;
    /**
     * The date and time the item was last modified.
     */
    modified?: string;
    /**
     * A short description of Calls app, not shown to end users.
     */
    name?: string;
    /**
     * Bearer token to use the Calls API.
     */
    secret?: string;
    /**
     * A Cloudflare-generated unique identifier for a item.
     */
    uid?: string;
}
export type CallListResponse = Array<CallsApp>;
export interface CallCreateParams {
    /**
     * Path param: The account identifier tag.
     */
    account_id: string;
    /**
     * Body param: A short description of Calls app, not shown to end users.
     */
    name?: string;
}
export interface CallUpdateParams {
    /**
     * Path param: The account identifier tag.
     */
    account_id: string;
    /**
     * Body param: A short description of Calls app, not shown to end users.
     */
    name?: string;
}
export interface CallListParams {
    /**
     * The account identifier tag.
     */
    account_id: string;
}
export interface CallDeleteParams {
    /**
     * The account identifier tag.
     */
    account_id: string;
}
export interface CallGetParams {
    /**
     * The account identifier tag.
     */
    account_id: string;
}
export declare namespace Calls {
    export import CallsApp = CallsAPI.CallsApp;
    export import CallsAppWithSecret = CallsAPI.CallsAppWithSecret;
    export import CallListResponse = CallsAPI.CallListResponse;
    export import CallCreateParams = CallsAPI.CallCreateParams;
    export import CallUpdateParams = CallsAPI.CallUpdateParams;
    export import CallListParams = CallsAPI.CallListParams;
    export import CallDeleteParams = CallsAPI.CallDeleteParams;
    export import CallGetParams = CallsAPI.CallGetParams;
}
//# sourceMappingURL=calls.d.ts.map