export interface PluginConfig { /** * Plugin name, this should match the class name */ pluginName: string; /** * Plugin NPM package name */ plugin: string; /** * Plugin object reference */ pluginRef?: string; /** * Github repository URL */ repo?: string; /** * Custom install command */ install?: string; /** * Available installation variables */ installVariables?: string[]; /** * Supported platforms */ platforms?: string[]; [key: string]: any; } export interface CordovaOptions { destruct?: boolean; /** * If the method-name of the cordova plugin is different from the wrappers one, it can be defined here */ methodName?: string; /** * Set to true if the wrapped method is a sync function */ sync?: boolean; /** * Callback order. Set to reverse if the success/error callbacks are the first 2 arguments that the wrapped method * takes. */ callbackOrder?: 'reverse'; /** * Callback style */ callbackStyle?: 'node' | 'object'; /** * Set a custom index for the success callback function. This doesn't work if callbackOrder or callbackStyle are set. */ successIndex?: number; /** * Set a custom index for the error callback function. This doesn't work if callbackOrder or callbackStyle are set. */ errorIndex?: number; /** * Success function property name. This must be set if callbackStyle is set to object. */ successName?: string; /** * Error function property name. This must be set if callbackStyle is set to object. */ errorName?: string; /** * Set to true to return an observable */ observable?: boolean; /** * If observable is set to true, this can be set to a different function name that will cancel the observable. */ clearFunction?: string; /** * This can be used if clearFunction is set. Set this to true to call the clearFunction with the same arguments used * in the initial function. */ clearWithArgs?: boolean; /** * Creates an observable that wraps a global event. Replaces document.addEventListener */ eventObservable?: boolean; /** * Event name, this must be set if eventObservable is set to true */ event?: string; /** * Element to attach the event listener to, this is optional, defaults to `window` */ element?: any; /** * Set to true if the wrapped method returns a promise */ otherPromise?: boolean; /** * Supported platforms */ platforms?: string[]; } export declare const Plugin: (config: PluginConfig) => ClassDecorator; export declare const Cordova: (config?: CordovaOptions) => MethodDecorator; export declare const CordovaProperty: () => PropertyDecorator; export declare const CordovaInstance: (config?: CordovaOptions) => MethodDecorator; export declare const InstanceProperty: () => PropertyDecorator; export declare const CordovaCheck: (config?: CordovaOptions) => MethodDecorator; export declare const InstanceCheck: (config?: CordovaOptions) => MethodDecorator; export declare const CordovaFunctionOverride: () => MethodDecorator;