import { BrsValue, ValueKind, BrsString, BrsBoolean } from "../BrsType";
import { BrsComponent } from "./BrsComponent";
import { BrsType } from "..";
import { RoAssociativeArray } from "./RoAssociativeArray";
export declare class RoChannelStore extends BrsComponent implements BrsValue {
    readonly kind = ValueKind.Object;
    private readonly id;
    private readonly order;
    private orderInfo;
    private credData;
    private fakeServerEnabled;
    private port?;
    constructor();
    setFakeServer(enable: boolean): void;
    setNewOrder(order: RoAssociativeArray[]): void;
    setDeltaOrder(codeValue: string, qtyValue: number): void;
    getProductData(type: string, status: {
        code: number;
        message: string;
    }): RoAssociativeArray[];
    placeOrder(status: {
        code: number;
        message: string;
    }): RoAssociativeArray[];
    getAttestationToken(): BrsString;
    toString(parent?: BrsType): string;
    equalTo(other: BrsType): BrsBoolean;
    dispose(): void;
    private static parseChannelStoreXml;
    private static elementToObject;
    private static coerceValue;
    private getFakeProductData;
    private getFakeOrderData;
    private isValidProductOrder;
    /** Returns a unique number that can be used to identify whether a roChannelStoreEvent originated from this object. */
    private readonly getIdentity;
    /** Requests the list of In-Channel products which are linked to the running channel. */
    private readonly getCatalog;
    /** Requests the list of globally available In-Channel products, which are available to all channels. */
    private readonly getStoreCatalog;
    /** Requests the list of active purchases associated with the current user account. */
    private readonly getPurchases;
    /** Requests the list of all purchases associated with the current user account, including expired. */
    private readonly getAllPurchases;
    /** Sets the current Order which must be an roList of roAssociativeArray items. */
    private readonly setOrder;
    /** Clears the current Order (shopping cart). After this call, the Order is empty. */
    private readonly clearOrder;
    /** Applies a change in quantity to one item in the current Order (shopping cart). */
    private readonly deltaOrder;
    /** Retrieves the current Order (shopping cart). */
    private readonly getOrder;
    /** If the user approves the order, this function returns true, otherwise it returns false */
    private readonly doOrder;
    /** This test mode short circuits communication to the Roku Channel store. */
    private readonly fakeServer;
    /** Provides a way to request user authorization to share his account information with the calling channel. */
    private readonly getUserData;
    /** Retrieves the state, zip code, and country associated with the customer's Roku account. */
    private readonly getUserRegionData;
    /** Provides a way to request user authorization to share his account information with the calling channel. */
    private readonly getPartialUserData;
    /** Stores an access token, oAuth token, or other authentication artifact that can be retrieved by calling the GetChannelCred method. */
    private readonly storeChannelCredData;
    /** Returns channel information from the Channel Store. */
    private readonly getChannelCred;
    /** Generates a signed JSON web token (JWT) in the Roku cloud and returns it to the app. */
    private readonly getDeviceAttestation;
    /** Checks the user's billing status and is a prerequisite for ConfirmPartnerOrder() when doing transactional purchases. */
    private readonly requestPartnerOrder;
    /** This function is equivalent to doOrder() for transactional purchases. */
    private readonly confirmPartnerOrder;
}
