@twilio/flex-ui
Version:
Twilio Flex UI
45 lines (44 loc) • 1.3 kB
TypeScript
import { Transport } from "./Transport";
export { Transport };
/**
* @enum {"File"} PredefinedTransports
* @desc Predefined transports available for use in custom log managers
* @property {"File"} File - generates and download a text file
* @memberof Log
*/
export declare enum PredefinedTransports {
File = "File",
ReturnToCode = "ReturnToCode"
}
/**
* @typedef {object} TransportTypeOptions
* @property {PredefinedTransports} type a type of a predefined transport
* @memberof Log
*/
type TransportTypeOptions = {
type: PredefinedTransports;
};
/**
* Create a custom transport
* @callback CreateTransport
* @returns {Log.Transport}
* @memberof Log
* @private
*/
type CreateTransport = () => Transport;
/**
* Options for predefined transports
*
* @typedef {object} TransportConfigurableOptions
* @mixes Log.TransportTypeOptions
* @memberof Log
*/ type TransportConfigurableOptions = TransportTypeOptions;
/**
* A way to define a transport for a log manager
*
* @typedef {CreateTransport | TransportConfigurableOptions} TransportConfig
* @memberof Log
*/
export type TransportConfig = CreateTransport | TransportConfigurableOptions;
type GetTransportParams = TransportTypeOptions;
export declare const getTransport: ({ type }: GetTransportParams) => Transport;