/**
 * UCX Proxy
 * A single use API for the UCX Proxy.
 *
 * The version of the OpenAPI document: 0.0.12
 * Contact: customersuccess@equisoft.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 type { ContactReferenceSchema } from './ContactReferenceSchema';
import type { HoldingSchema } from './HoldingSchema';
import type { InvestmentStatus } from './InvestmentStatus';
import type { RegistrationType } from './RegistrationType';
import type { AccountType } from './AccountType';
/**
 *
 * @export
 * @interface InvestmentAccountSchema
 */
export interface InvestmentAccountSchema {
    /**
     *
     * @type {string}
     * @memberof InvestmentAccountSchema
     */
    uniqueIdentifier: string;
    /**
     *
     * @type {string}
     * @memberof InvestmentAccountSchema
     */
    externalIdentifier: string;
    /**
     *
     * @type {string}
     * @memberof InvestmentAccountSchema
     */
    accountNumber: string;
    /**
     *
     * @type {InvestmentStatus}
     * @memberof InvestmentAccountSchema
     */
    status?: InvestmentStatus | null;
    /**
     *
     * @type {string}
     * @memberof InvestmentAccountSchema
     */
    description?: string | null;
    /**
     *
     * @type {AccountType}
     * @memberof InvestmentAccountSchema
     */
    accountType?: AccountType | null;
    /**
     *
     * @type {string}
     * @memberof InvestmentAccountSchema
     */
    jurisdiction?: string | null;
    /**
     *
     * @type {RegistrationType}
     * @memberof InvestmentAccountSchema
     */
    registrationType?: RegistrationType | null;
    /**
     *
     * @type {string}
     * @memberof InvestmentAccountSchema
     */
    currency?: string | null;
    /**
     *
     * @type {number}
     * @memberof InvestmentAccountSchema
     */
    marketValue?: number | null;
    /**
     *
     * @type {Date}
     * @memberof InvestmentAccountSchema
     */
    fetchedAt?: Date | null;
    /**
     *
     * @type {Date}
     * @memberof InvestmentAccountSchema
     */
    asOfDate?: Date | null;
    /**
     *
     * @type {Array<ContactReferenceSchema>}
     * @memberof InvestmentAccountSchema
     */
    owners?: Array<ContactReferenceSchema> | null;
    /**
     *
     * @type {Array<ContactReferenceSchema>}
     * @memberof InvestmentAccountSchema
     */
    contributors?: Array<ContactReferenceSchema> | null;
    /**
     *
     * @type {{ [key: string]: object; }}
     * @memberof InvestmentAccountSchema
     */
    sourceMetadata: {
        [key: string]: object;
    };
    /**
     *
     * @type {Array<HoldingSchema>}
     * @memberof InvestmentAccountSchema
     */
    holdings?: Array<HoldingSchema> | null;
}
/**
 * Check if a given object implements the InvestmentAccountSchema interface.
 */
export declare function instanceOfInvestmentAccountSchema(value: object): value is InvestmentAccountSchema;
export declare function InvestmentAccountSchemaFromJSON(json: any): InvestmentAccountSchema;
export declare function InvestmentAccountSchemaFromJSONTyped(json: any, ignoreDiscriminator: boolean): InvestmentAccountSchema;
export declare function InvestmentAccountSchemaToJSON(json: any): InvestmentAccountSchema;
export declare function InvestmentAccountSchemaToJSONTyped(value?: InvestmentAccountSchema | null, ignoreDiscriminator?: boolean): any;
