session-desktop/ts/window.d.ts

106 lines
3.2 KiB
TypeScript

import {} from 'styled-components/cssprop';
import { LocalizerType } from '../ts/types/Util';
import { Store } from '@reduxjs/toolkit';
import { ConversationCollection, ConversationModel } from './models/conversation';
import { ConversationType } from './state/ducks/conversations';
import { StateType } from './state/reducer';
export interface LibTextsecure {
messaging: boolean;
}
/*
We declare window stuff here instead of global.d.ts because we are importing other declarations.
If you import anything in global.d.ts, the type system won't work correctly.
*/
declare global {
interface Window {
CONSTANTS: any;
Events: any;
Lodash: any;
Session: any;
Whisper: any;
clearLocalData: any;
clipboard: any;
dcodeIO: any;
getSettingValue: (id: string, comparisonValue?: any) => any;
setSettingValue: (id: string, value: any) => Promise<void>;
i18n: LocalizerType;
log: any;
sessionFeatureFlags: {
useOnionRequests: boolean;
useTestNet: boolean;
useSettingsThemeSwitcher: boolean;
debug: {
debugFileServerRequests: boolean;
debugNonSnodeRequests: boolean;
debugOnionRequests: boolean;
};
};
SessionSnodeAPI: SessionSnodeAPI;
onLogin: (pw: string) => Promise<void>;
persistStore?: Persistor;
restart: any;
getSeedNodeList: () => Array<string> | undefined;
setPassword: any;
isOnline: boolean;
toggleMediaPermissions: () => Promise<void>;
toggleCallMediaPermissionsTo: (enabled: boolean) => Promise<void>;
getCallMediaPermissions: () => boolean;
toggleMenuBar: () => void;
toggleSpellCheck: any;
setTheme: (newTheme: string) => Promise<void>;
isDev?: () => boolean;
userConfig: any;
versionInfo: any;
getConversations: () => ConversationCollection;
readyForUpdates: () => void;
drawAttention: () => void;
MediaRecorder: any;
platform: string;
openFromNotification: (convoId: string) => void;
getEnvironment: () => string;
getNodeVersion: () => string;
showWindow: () => void;
setCallMediaPermissions: (val: boolean) => void;
setMediaPermissions: (val: boolean) => void;
askForMediaAccess: () => void;
getMediaPermissions: () => boolean;
nodeSetImmediate: any;
globalOnlineStatus: boolean;
getTitle: () => string;
getAppInstance: () => string;
getCommitHash: () => string | undefined;
getVersion: () => string;
setAutoHideMenuBar: (val: boolean) => void;
setMenuBarVisibility: (val: boolean) => void;
contextMenuShown: boolean;
inboxStore?: Store;
openConversationWithMessages: (args: {
conversationKey: string;
messageId: string | null;
}) => Promise<void>;
LokiPushNotificationServer: any;
getGlobalOnlineStatus: () => boolean;
confirmationDialog: any;
setStartInTray: (val: boolean) => Promise<void>;
getStartInTray: () => Promise<boolean>;
getOpengroupPruning: () => Promise<boolean>;
setOpengroupPruning: (val: boolean) => Promise<void>;
closeAbout: () => void;
getAutoUpdateEnabled: () => boolean;
setAutoUpdateEnabled: (enabled: boolean) => void;
setZoomFactor: (newZoom: number) => void;
updateZoomFactor: () => void;
Signal: any;
}
}