import { JETPACK_FORM_AI_COMPOSITION_EXTENSION } from './blocks/ai-assistant/extensions/jetpack-contact-form/constants';
import { JETPACK_CREATE_WITH_VOICE_EXTENSION } from './blocks/create-with-voice/constants';
import { SiteAIAssistantFeatureEndpointResponseProps } from './types';
type AvailableBlockProps =
| {
available?: boolean;
}
| undefined;
declare global {
interface Window {
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;
};
Jetpack_Editor_Initial_State: {
available_blocks: {
[ JETPACK_CREATE_WITH_VOICE_EXTENSION ]: AvailableBlockProps;
[ JETPACK_FORM_AI_COMPOSITION_EXTENSION ]: AvailableBlockProps;
};
adminUrl: string;
siteLocale: string;
'ai-assistant': SiteAIAssistantFeatureEndpointResponseProps;
screenBase?: string;
wpcomBlogId?: string;
};
wpcomFetch: function;
}
}