/**
 * Ocra (REST API for Sinch RTC clients)
 * REST API for Sinch RTC clients.
 *
 * The version of the OpenAPI document: 0.11.0
 * Contact: rtc@sinch.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { CallReportInstance, CallResult, ClientError, ConnectionInfoV2, Destination, Direction, Domain, IpProtocolVersion, Origin, PrimaryMediaTransportType, SdpSemantics } from './';
/**
 *
 * @export
 * @interface BasicCallReport
 */
export interface BasicCallReport {
    /**
     *
     * @type {string}
     * @memberof BasicCallReport
     */
    callId: string;
    /**
     * Client-generated unique id
     * @type {string}
     * @memberof BasicCallReport
     */
    reportId: string;
    /**
     *
     * @type {CallReportInstance}
     * @memberof BasicCallReport
     */
    instance: CallReportInstance;
    /**
     *
     * @type {string}
     * @memberof BasicCallReport
     */
    userId: string;
    /**
     *
     * @type {Origin}
     * @memberof BasicCallReport
     */
    from?: Origin;
    /**
     *
     * @type {Destination}
     * @memberof BasicCallReport
     */
    to?: Destination;
    /**
     *
     * @type {Direction}
     * @memberof BasicCallReport
     */
    direction: Direction;
    /**
     *
     * @type {{ [key: string]: string; }}
     * @memberof BasicCallReport
     */
    publicCallHeaders?: {
        [key: string]: string;
    };
    /**
     *
     * @type {Date}
     * @memberof BasicCallReport
     */
    startTime: Date;
    /**
     * Total call duration (in seconds with millisecond precision).
     * @type {number}
     * @memberof BasicCallReport
     */
    duration: number;
    /**
     * Call setup duration (in seconds with millisecond precision).
     * @type {number}
     * @memberof BasicCallReport
     */
    setupDuration?: number;
    /**
     *
     * @type {CallResult}
     * @memberof BasicCallReport
     */
    result: CallResult;
    /**
     *
     * @type {Domain}
     * @memberof BasicCallReport
     */
    localDomain: Domain;
    /**
     *
     * @type {Domain}
     * @memberof BasicCallReport
     */
    remoteDomain?: Domain;
    /**
     *
     * @type {boolean}
     * @memberof BasicCallReport
     */
    requestedAudio: boolean;
    /**
     *
     * @type {boolean}
     * @memberof BasicCallReport
     */
    requestedVideo: boolean;
    /**
     *
     * @type {boolean}
     * @memberof BasicCallReport
     */
    hadAudioStreams: boolean;
    /**
     *
     * @type {boolean}
     * @memberof BasicCallReport
     */
    hadVideoStreams: boolean;
    /**
     *
     * @type {PrimaryMediaTransportType}
     * @memberof BasicCallReport
     */
    primaryMediaTransportType?: PrimaryMediaTransportType;
    /**
     *
     * @type {IpProtocolVersion}
     * @memberof BasicCallReport
     */
    primaryIpProtocolVersion?: IpProtocolVersion;
    /**
     *
     * @type {Array<ConnectionInfoV2>}
     * @memberof BasicCallReport
     */
    connectionInfo?: Array<ConnectionInfoV2>;
    /**
     *
     * @type {Array<ClientError>}
     * @memberof BasicCallReport
     */
    errors?: Array<ClientError>;
    /**
     * Indicates whether client sent call report to a particular PoP, e.g. to URL provided in CallInitiationResponse.apiBaseUrl.
     * @type {boolean}
     * @memberof BasicCallReport
     */
    pinnedPop?: boolean;
    /**
     *
     * @type {SdpSemantics}
     * @memberof BasicCallReport
     */
    sdpSemantics?: SdpSemantics;
}
export declare function BasicCallReportFromJSON(json: any): BasicCallReport;
export declare function BasicCallReportFromJSONTyped(json: any, ignoreDiscriminator: boolean): BasicCallReport;
export declare function BasicCallReportToJSON(value?: BasicCallReport | null): any;
