expo-realtime-maps-navigation
Version:
JavaScript-pure React Native navigation package with Google Places + HERE Routing APIs, dual maps support, and complete customization - No native modules required!
66 lines (65 loc) • 3 kB
TypeScript
export interface SecureStorageOptions {
accessGroup?: string;
showModal?: boolean;
kLocalizedFallbackTitle?: string;
touchID?: boolean;
faceID?: boolean;
}
export interface HereSDKCredentials {
apiKey: string;
accessKeyId?: string;
accessKeySecret?: string;
region?: string;
environment?: 'staging' | 'production';
}
export interface StorageEntry {
value: string;
timestamp: number;
expiresAt?: number;
}
declare class SecureStorageManager {
private static instance;
private keychain;
private isAvailable;
private constructor();
static getInstance(): SecureStorageManager;
private initialize;
isSecureStorageAvailable(): Promise<boolean>;
storeCredentials(service: string, credentials: HereSDKCredentials, options?: SecureStorageOptions): Promise<boolean>;
getCredentials(service: string, options?: SecureStorageOptions): Promise<HereSDKCredentials | null>;
removeCredentials(service: string): Promise<boolean>;
updateCredentials(service: string, credentials: Partial<HereSDKCredentials>, options?: SecureStorageOptions): Promise<boolean>;
rotateApiKey(service: string, newApiKey: string, options?: SecureStorageOptions): Promise<boolean>;
validateCredentials(service: string): Promise<boolean>;
private encryptForWeb;
private decryptForWeb;
}
export declare const secureStorage: SecureStorageManager;
export declare const HereSecureStorage: {
storeHereCredentials(credentials: HereSDKCredentials, options?: SecureStorageOptions): Promise<boolean>;
getHereCredentials(options?: SecureStorageOptions): Promise<HereSDKCredentials | null>;
removeHereCredentials(): Promise<boolean>;
updateHereCredentials(credentials: Partial<HereSDKCredentials>, options?: SecureStorageOptions): Promise<boolean>;
rotateHereApiKey(newApiKey: string, options?: SecureStorageOptions): Promise<boolean>;
validateHereCredentials(): Promise<boolean>;
isHereCredentialsStored(): Promise<boolean>;
};
export declare const useSecureStorage: () => {
secureStorage: SecureStorageManager;
HereSecureStorage: {
storeHereCredentials(credentials: HereSDKCredentials, options?: SecureStorageOptions): Promise<boolean>;
getHereCredentials(options?: SecureStorageOptions): Promise<HereSDKCredentials | null>;
removeHereCredentials(): Promise<boolean>;
updateHereCredentials(credentials: Partial<HereSDKCredentials>, options?: SecureStorageOptions): Promise<boolean>;
rotateHereApiKey(newApiKey: string, options?: SecureStorageOptions): Promise<boolean>;
validateHereCredentials(): Promise<boolean>;
isHereCredentialsStored(): Promise<boolean>;
};
isAvailable: Promise<boolean>;
};
export declare const SecurityUtils: {
generateSecureToken(length?: number): string;
validateApiKeyFormat(apiKey: string): boolean;
maskSensitiveData(data: string, visibleChars?: number): string;
};
export default secureStorage;