import { Service } from '../Service';
import { DerivativeProviders, DerivativeType } from '../interfaces/Enums';
import { IDerivativeService } from '../interfaces/IDerivative';
export declare class DerivativeService extends Service implements IDerivativeService {
    constructor(address: string, abi?: ({
        constant: boolean;
        inputs: {
            name: string;
            type: string;
        }[];
        name: string;
        outputs: {
            name: string;
            type: string;
        }[];
        payable: boolean;
        stateMutability: string;
        type: string;
        anonymous?: undefined;
    } | {
        inputs: {
            name: string;
            type: string;
        }[];
        payable: boolean;
        stateMutability: string;
        type: string;
        constant?: undefined;
        name?: undefined;
        outputs?: undefined;
        anonymous?: undefined;
    } | {
        payable: boolean;
        stateMutability: string;
        type: string;
        constant?: undefined;
        inputs?: undefined;
        name?: undefined;
        outputs?: undefined;
        anonymous?: undefined;
    } | {
        anonymous: boolean;
        inputs: {
            indexed: boolean;
            name: string;
            type: string;
        }[];
        name: string;
        type: string;
        constant?: undefined;
        outputs?: undefined;
        payable?: undefined;
        stateMutability?: undefined;
    })[]);
    readonly nativeContract: any;
    getOwner(): Promise<string>;
    getDerivativeType(): Promise<number>;
    getComponentAddress(componentName: DerivativeProviders): Promise<string>;
    getProductStatus(): Promise<number>;
    getStatus(): Promise<number>;
    getName(): Promise<string>;
    getDescription(): Promise<string>;
    getVersion(): Promise<any>;
    fundType(): Promise<DerivativeType | null>;
    getSymbol(): Promise<string>;
}
