267 lines
6.6 KiB
TypeScript
267 lines
6.6 KiB
TypeScript
declare module '*.png';
|
|
declare module '*.svg';
|
|
declare module '*.jpeg';
|
|
declare module '*.jpg';
|
|
declare module '*.scss';
|
|
|
|
// These libraries don't have types, this suppresses the TypeScript errors
|
|
declare module '@wordpress/components';
|
|
declare module '@wordpress/compose';
|
|
declare module '@wordpress/i18n';
|
|
declare module '@wordpress/icons';
|
|
|
|
interface Window {
|
|
myJetpackInitialState?: {
|
|
siteSuffix: string;
|
|
siteUrl: string;
|
|
latestBoostSpeedScores: {
|
|
previousScores: {
|
|
desktop: number;
|
|
mobile: number;
|
|
};
|
|
scores: {
|
|
desktop: number;
|
|
mobile: number;
|
|
};
|
|
theme: string;
|
|
timestamp: number;
|
|
};
|
|
IDCContainerID: string;
|
|
adminUrl: string;
|
|
blogID: string;
|
|
fileSystemWriteAccess: 'yes' | 'no';
|
|
isStatsModuleActive: string;
|
|
isUserFromKnownHost: string;
|
|
jetpackManage: {
|
|
isAgencyAccount: boolean;
|
|
isEnabled: boolean;
|
|
};
|
|
loadAddLicenseScreen: string;
|
|
myJetpackCheckoutUri: string;
|
|
myJetpackFlags: {
|
|
showFullJetpackStatsCard: boolean;
|
|
videoPressStats: boolean;
|
|
};
|
|
lifecycleStats: {
|
|
isSiteConnected: boolean;
|
|
isUserConnected: boolean;
|
|
jetpackPlugins: Array< string >;
|
|
modules: Array< string >;
|
|
purchases: Array< string >;
|
|
};
|
|
myJetpackUrl: string;
|
|
myJetpackVersion: string;
|
|
plugins: {
|
|
[ key: string ]: {
|
|
Name: string;
|
|
PluginURI: string;
|
|
Version: string;
|
|
Title: string;
|
|
Description: string;
|
|
Author: string;
|
|
AuthorName: string;
|
|
AuthorURI: string;
|
|
DomainPath: string;
|
|
textDomain: string;
|
|
RequiresPHP: string;
|
|
RequiresWP: string;
|
|
UpdateURI: string;
|
|
Network: boolean;
|
|
active: boolean;
|
|
};
|
|
};
|
|
products: {
|
|
items: {
|
|
[ key: string ]: {
|
|
class: string;
|
|
description: string;
|
|
disclaimers: Array< string[] >;
|
|
features: string[];
|
|
has_paid_plan_for_product: boolean;
|
|
features_by_tier: Array< string >;
|
|
is_bundle: boolean;
|
|
is_plugin_active: boolean;
|
|
is_upgradable_by_bundle: string[];
|
|
long_description: string;
|
|
manage_url: string;
|
|
name: string;
|
|
plugin_slug: string;
|
|
post_activation_url: string;
|
|
post_checkout_url?: string;
|
|
pricing_for_ui?: {
|
|
available: boolean;
|
|
wpcom_product_slug: string;
|
|
product_term: string;
|
|
currency_code: string;
|
|
full_price: number;
|
|
discount_price: number;
|
|
coupon_discount: number;
|
|
is_introductory_offer: boolean;
|
|
introductory_offer?: {
|
|
cost_per_interval: number;
|
|
interval_count: number;
|
|
interval_unit: string;
|
|
should_prorate_when_offer_ends: boolean;
|
|
transition_after_renewal_count: number;
|
|
usage_limit?: number;
|
|
};
|
|
};
|
|
purchase_url?: string;
|
|
requires_user_connection: boolean;
|
|
slug: string;
|
|
standalone_plugin_info: {
|
|
has_standalone_plugin: boolean;
|
|
is_standalone_installed: boolean;
|
|
is_standalone_active: boolean;
|
|
};
|
|
status: string;
|
|
supported_products: string[];
|
|
tiers: string[];
|
|
title: string;
|
|
wpcom_product_slug: string;
|
|
};
|
|
};
|
|
};
|
|
purchases: {
|
|
items: Array< {
|
|
ID: string;
|
|
user_id: string;
|
|
blog_id: string;
|
|
product_id: string;
|
|
subscribed_date: string;
|
|
renew: string;
|
|
auto_renew: string;
|
|
renew_date: string;
|
|
inactive_date: string | null;
|
|
active: string;
|
|
meta: string | object;
|
|
ownership_id: string;
|
|
most_recent_renew_date: string;
|
|
amount: number;
|
|
expiry_date: string;
|
|
expiry_message: string;
|
|
expiry_sub_message: string;
|
|
expiry_status: string;
|
|
partner_name: string | null;
|
|
partner_slug: string | null;
|
|
partner_key_id: string | null;
|
|
subscription_status: string;
|
|
product_name: string;
|
|
product_slug: string;
|
|
product_type: string;
|
|
blog_created_date: string;
|
|
blogname: string;
|
|
domain: string;
|
|
description: string;
|
|
attached_to_purchase_id: string | null;
|
|
included_domain: string;
|
|
included_domain_purchase_amount: number;
|
|
currency_code: string;
|
|
currency_symbol: string;
|
|
renewal_price_tier_slug: string | null;
|
|
renewal_price_tier_usage_quantity: number | null;
|
|
current_price_tier_slug: string | null;
|
|
current_price_tier_usage_quantity: number | null;
|
|
price_tier_list: Array< object >;
|
|
price_text: string;
|
|
bill_period_label: string;
|
|
bill_period_days: number;
|
|
regular_price_text: string;
|
|
regular_price_integer: number;
|
|
product_display_price: string;
|
|
price_integer: number;
|
|
is_cancelable: boolean;
|
|
can_explicit_renew: boolean;
|
|
can_disable_auto_renew: boolean;
|
|
can_reenable_auto_renewal: boolean;
|
|
iap_purchase_management_link: string | null;
|
|
is_iap_purchase: boolean;
|
|
is_locked: boolean;
|
|
is_refundable: boolean;
|
|
refund_period_in_days: number;
|
|
is_renewable: boolean;
|
|
is_renewal: boolean;
|
|
has_private_registration: boolean;
|
|
refund_amount: number;
|
|
refund_integer: number;
|
|
refund_currency_symbol: string;
|
|
refund_text: string;
|
|
refund_options: object | null;
|
|
total_refund_amount: number;
|
|
total_refund_integer: number;
|
|
total_refund_currency: string;
|
|
total_refund_text: string;
|
|
check_dns: boolean;
|
|
} >;
|
|
};
|
|
redBubbleAlerts: {
|
|
'missing-site-connection'?: null;
|
|
'welcome-banner-active'?: null;
|
|
[ key: `${ string }-bad-installation` ]: {
|
|
data: {
|
|
plugin: string;
|
|
};
|
|
};
|
|
};
|
|
topJetpackMenuItemUrl: string;
|
|
userIsAdmin: string;
|
|
userIsNewToJetpack: string;
|
|
};
|
|
JP_CONNECTION_INITIAL_STATE: {
|
|
apiRoot: string;
|
|
apiNonce: string;
|
|
registrationNonce: string;
|
|
connectionStatus: {
|
|
isActive: boolean;
|
|
isStaging: boolean;
|
|
isRegistered: boolean;
|
|
isUserConnected: boolean;
|
|
hasConnectedOwner: boolean;
|
|
offlineMode: {
|
|
isActive: boolean;
|
|
constant: boolean;
|
|
url: boolean;
|
|
filter: boolean;
|
|
wpLocalConstant: boolean;
|
|
};
|
|
isPublic: boolean;
|
|
};
|
|
userConnectionData: {
|
|
currentUser: {
|
|
isConnected: boolean;
|
|
isMaster: boolean;
|
|
username: string;
|
|
id: number;
|
|
blogId: number;
|
|
wpcomUser: {
|
|
avatar: boolean;
|
|
};
|
|
gravatar: string;
|
|
permissions: {
|
|
admin_page?: boolean;
|
|
connect: boolean;
|
|
connect_user: boolean;
|
|
disconnect: boolean;
|
|
edit_posts?: boolean;
|
|
manage_modules?: boolean;
|
|
manage_options?: boolean;
|
|
manage_plugins?: boolean;
|
|
network_admin?: boolean;
|
|
network_sites_page?: boolean;
|
|
publish_posts?: boolean;
|
|
view_stats?: boolean;
|
|
};
|
|
};
|
|
connectionOwner: null;
|
|
};
|
|
connectedPlugins: object;
|
|
wpVersion: string;
|
|
siteSuffix: string;
|
|
connectionErrors: Array< string | object >;
|
|
};
|
|
myJetpackRest?: {
|
|
apiRoot: string;
|
|
apiNonce: string;
|
|
};
|
|
}
|