import { LusidInstrument } from './lusidInstrument';
import { Premium } from './premium';
/**
 * LUSID representation of a plain vanilla OTC Equity Option.
 */
export interface EquityOption {
    /**
     * The start date of the instrument. This is normally synonymous with the trade-date.
     */
    startDate: Date;
    /**
     * The maturity date of the option.
     */
    optionMaturityDate: Date;
    /**
     * The settlement date of the option.
     */
    optionSettlementDate: Date;
    /**
     * is the option cash settled or physical delivery of option    Supported string (enumeration) values are: [Cash, Physical].
     */
    deliveryType: string;
    /**
     * Type of optionality for the option    Supported string (enumeration) values are: [Call, Put].
     */
    optionType: string;
    /**
     * The strike of the option.
     */
    strike: number;
    /**
     * The domestic currency of the instrument.
     */
    domCcy: string;
    /**
     * The market identifier type of the underlying code, e.g RIC.    Supported string (enumeration) values are: [LusidInstrumentId, Isin, Sedol, Cusip, ClientInternal, Figi, RIC, QuotePermId, REDCode, BBGId, ICECode].
     */
    underlyingIdentifier: string;
    /**
     * The identifying code for the equity underlying, e.g. \'IBM.N\'.
     */
    code: string;
    /**
     * Equity option types. E.g. Vanilla (default), RightsIssue, Warrant.    Supported string (enumeration) values are: [Vanilla, RightsIssue, Warrant].
     */
    equityOptionType?: string | null;
    /**
     * The amount of shares to exchange if the option is exercised.
     */
    numberOfShares?: number | null;
    premium?: Premium;
    /**
     * Type of optionality that is present; European, American.    Supported string (enumeration) values are: [European, American].
     */
    exerciseType?: string | null;
    /**
     * The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap
     */
    instrumentType: EquityOption.InstrumentTypeEnum;
}
export declare namespace EquityOption {
    type InstrumentTypeEnum = 'QuotedSecurity' | 'InterestRateSwap' | 'FxForward' | 'Future' | 'ExoticInstrument' | 'FxOption' | 'CreditDefaultSwap' | 'InterestRateSwaption' | 'Bond' | 'EquityOption' | 'FixedLeg' | 'FloatingLeg' | 'BespokeCashFlowsLeg' | 'Unknown' | 'TermDeposit' | 'ContractForDifference' | 'EquitySwap' | 'CashPerpetual' | 'CapFloor' | 'CashSettled' | 'CdsIndex' | 'Basket' | 'FundingLeg' | 'FxSwap' | 'ForwardRateAgreement' | 'SimpleInstrument' | 'Repo' | 'Equity' | 'ExchangeTradedOption' | 'ReferenceInstrument' | 'ComplexBond' | 'InflationLinkedBond' | 'InflationSwap';
    const InstrumentTypeEnum: {
        QuotedSecurity: LusidInstrument.InstrumentTypeEnum;
        InterestRateSwap: LusidInstrument.InstrumentTypeEnum;
        FxForward: LusidInstrument.InstrumentTypeEnum;
        Future: LusidInstrument.InstrumentTypeEnum;
        ExoticInstrument: LusidInstrument.InstrumentTypeEnum;
        FxOption: LusidInstrument.InstrumentTypeEnum;
        CreditDefaultSwap: LusidInstrument.InstrumentTypeEnum;
        InterestRateSwaption: LusidInstrument.InstrumentTypeEnum;
        Bond: LusidInstrument.InstrumentTypeEnum;
        EquityOption: LusidInstrument.InstrumentTypeEnum;
        FixedLeg: LusidInstrument.InstrumentTypeEnum;
        FloatingLeg: LusidInstrument.InstrumentTypeEnum;
        BespokeCashFlowsLeg: LusidInstrument.InstrumentTypeEnum;
        Unknown: LusidInstrument.InstrumentTypeEnum;
        TermDeposit: LusidInstrument.InstrumentTypeEnum;
        ContractForDifference: LusidInstrument.InstrumentTypeEnum;
        EquitySwap: LusidInstrument.InstrumentTypeEnum;
        CashPerpetual: LusidInstrument.InstrumentTypeEnum;
        CapFloor: LusidInstrument.InstrumentTypeEnum;
        CashSettled: LusidInstrument.InstrumentTypeEnum;
        CdsIndex: LusidInstrument.InstrumentTypeEnum;
        Basket: LusidInstrument.InstrumentTypeEnum;
        FundingLeg: LusidInstrument.InstrumentTypeEnum;
        FxSwap: LusidInstrument.InstrumentTypeEnum;
        ForwardRateAgreement: LusidInstrument.InstrumentTypeEnum;
        SimpleInstrument: LusidInstrument.InstrumentTypeEnum;
        Repo: LusidInstrument.InstrumentTypeEnum;
        Equity: LusidInstrument.InstrumentTypeEnum;
        ExchangeTradedOption: LusidInstrument.InstrumentTypeEnum;
        ReferenceInstrument: LusidInstrument.InstrumentTypeEnum;
        ComplexBond: LusidInstrument.InstrumentTypeEnum;
        InflationLinkedBond: LusidInstrument.InstrumentTypeEnum;
        InflationSwap: LusidInstrument.InstrumentTypeEnum;
    };
}
