import { HangupReasonJS, LegStatusJS, CallDisconnectReasonJS, CancelReasonJS, VoiceChannelTypeJS, SessionErrorReasonJS, VonageErrorTypeJS, CSErrorCodesJS, SessionErrorCodesJS } from '../kotlin/JsUnions';
export type CamelCase<S extends string, Sep extends string = '-' | '_' | ' ' | '.'> = S extends `${infer F}${Sep}${infer R}` ? `${Lowercase<F>}${CamelCase<Capitalize<R>, Sep>}` : Lowercase<S>;
export type PascalCase<S extends string, Sep extends string = '-' | '_' | ' ' | '.'> = S extends `${infer F}${Sep}${infer R}` ? `${Capitalize<Lowercase<F>>}${PascalCase<Capitalize<R>, Sep>}` : S extends Uppercase<S> ? Capitalize<Lowercase<S>> : Capitalize<S>;
export type toEnum<T extends string> = {
    [key in T as PascalCase<key>]: key;
};
export type unionOfValues<T> = T[keyof T];
/**
 * Hangup reasons for a call
 * @enum
 */
export declare const HangupReason: toEnum<HangupReasonJS>;
export type HangupReason = unionOfValues<typeof HangupReason>;
/**
 * Leg status for a call
 * @enum
 */
export declare const LegStatus: toEnum<LegStatusJS>;
export type LegStatus = unionOfValues<typeof LegStatus>;
/**
 * Call disconnect reasons
 * @enum
 */
export declare const CallDisconnectReason: toEnum<CallDisconnectReasonJS>;
export type CallDisconnectReason = unionOfValues<typeof CallDisconnectReason>;
/**
 * Call Invite cancel reasons
 * @enum
 */
export declare const CancelReason: toEnum<CancelReasonJS>;
export type CancelReason = unionOfValues<typeof CancelReason>;
/**
 * Voice Channel Types
 * @enum
 */
export declare const VoiceChannelType: toEnum<VoiceChannelTypeJS>;
export type VoiceChannelType = unionOfValues<typeof VoiceChannelType>;
/**
 * Session Error Reasons
 * @enum
 */
export declare const SessionErrorReason: toEnum<SessionErrorReasonJS>;
export type SessionErrorReason = unionOfValues<typeof SessionErrorReason>;
/**
 * Vonage Error Types
 * @enum
 */
export declare const VonageErrorType: toEnum<VonageErrorTypeJS>;
/**
 * Vonage Error Values
 */
export type VonageErrorType = unionOfValues<typeof VonageErrorType>;
export declare const CSErrorCodes: toEnum<CSErrorCodesJS>;
export type CSErrorCodes = unionOfValues<typeof CSErrorCodes>;
export declare const SessionErrorCodes: toEnum<SessionErrorCodesJS>;
export type SessionErrorCodes = unionOfValues<typeof SessionErrorCodes>;
