﻿//----------------------
// <auto-generated>
// </auto-generated>
//----------------------







export interface Exception {
    Message: string;
    InnerException: Exception | undefined;
    Source: string | undefined;
    StackTrace: string | undefined;
}

export interface ExceptionBase extends Exception {
    Foo: string | undefined;
    kind: 'ExceptionBase';
}

export function isExceptionBase(object: any): object is ExceptionBase {
    return object && object['kind'] === 'ExceptionBase';
}

/** Foobar. */
export interface MyException extends ExceptionBase {
    Bar: string | undefined;
}

export function isMyException(object: any): object is MyException {
    return object && object['kind'] === 'MyException';
}

export interface ExceptionContainer {
    Exception: ExceptionBase | undefined;
}