@swrve/smarttv-sdk
Version:
Swrve marketing engagement platform SDK for SmartTV OTT devices
46 lines (45 loc) • 1.82 kB
TypeScript
import { ISwrveInternalConfig, SwrveStack } from "./ISwrveInternalConfig";
import { ISwrveEmbeddedMessage } from "../Campaigns/ISwrveCampaign";
import IDictionary from "../utils/IDictionary";
import { IPlatform, IPlatformName } from "../utils/platforms/IPlatform";
import { IKeyMapping } from "../utils/platforms/IKeymapping";
export declare type OnEmbeddedMessageListener = (msg: ISwrveEmbeddedMessage, personalizationProperties?: IDictionary<string>) => void;
export declare type OnPersonalizationProvider = (eventPayload: IDictionary<string>) => IDictionary<string>;
export default interface ISwrveConfig {
appId: number;
apiKey: string;
appVersion?: string;
stack?: SwrveStack;
newSessionInterval?: number;
httpsTimeoutSeconds?: number;
language?: string;
contentUrl?: string;
apiUrl?: string;
identityUrl?: string;
abTestDetailsEnabled?: boolean;
autoShowMessagesMaxDelay?: number;
inAppMessageButtonStyle?: ICSSStyle | string;
inAppMessageButtonFocusStyle?: ICSSStyle | string;
inAppMessageStyleOverride?: string;
managedMode?: boolean;
embeddedMessageConfig?: ISwrveEmbeddedMessageConfig;
personalizationProvider?: OnPersonalizationProvider;
customKeyMappingTizen?: IKeyMapping;
customKeyMappingWebOS?: IKeyMapping;
customKeyMappingBase?: IKeyMapping;
customPlatform?: IPlatform;
customOSVersion?: string;
customOS?: string;
customDeviceName?: IPlatformName;
customAppStore?: string;
}
export interface ICSSStyle {
[key: string]: string;
}
export declare function configWithDefaults(config: ISwrveConfig, lastUserId: string): ISwrveInternalConfig;
export interface IPreviousConfig {
userId?: string;
}
export interface ISwrveEmbeddedMessageConfig {
embeddedCallback?: OnEmbeddedMessageListener;
}