@veltdev/types
Version:
Velt is an SDK to add collaborative features to your product within minutes. Example: Comments like Figma, Frame.io, Google docs or sheets, Recording like Loom, Huddles like Slack and much more.
106 lines (105 loc) • 3.45 kB
TypeScript
import { FirebaseOptions } from "@angular/fire/app";
import { FeatureType } from "../../utils/enums";
export declare class Config {
/**
* Restrict Snippyly features to specific pages. You can specify partial URL strings.
*
* Default: All pages where snippyly script or snippyly web components are added.
*/
urlAllowList?: string[];
/**
* Only allow the provided Snippyly features to run.
*
* Default: All features are enabled.
*/
featureAllowList?: Array<FeatureType>;
/**
* Restrict Snippyly features to specific user plans.
*
* Default: All users.
*/
userPlanAllowList?: string[];
/**
* Restrict Snippyly features to specific users.
*
* Default: All users.
*/
userIdAllowList?: string[];
/**
* Restrict Snippyly features to specific groups/teams of users.
*
* Default: All groups/teams.
*/
userGroupIdAllowList?: string[];
/**
* To enable/disable debug mode
*
* This change will be reflected after a page refresh
*/
debugMode?: boolean;
/**
* To enable/disable prefers color scheme.
* If this is set to true, then we will listen to changes on the
* prefers-color-scheme media query to set the global theme of our components.
*/
usePrefersColorScheme?: boolean;
/**
* To enable/disable advanced queries.
*
* Default: false
*/
advancedQueriesDisabled?: boolean;
/**
* The domain of the API proxy.
* @deprecated Use `proxyConfig.apiHost` instead.
*/
apiProxyDomain?: string;
/**
* Controls whether global Velt styles are loaded.
* When true (default), global styles are applied.
* When false, global styles are not loaded - useful for custom styling.
*
* Default: true
*/
globalStyles?: boolean;
/**
* Configuration for routing all traffic through reverse proxies.
*/
proxyConfig?: ProxyConfig;
}
export interface ProxyConfig {
/** Custom host for the Velt CDN (e.g., 'cdn-proxy.customer.com') */
cdnHost?: string;
/** Custom host for the Velt API (e.g., 'api-proxy.customer.com') */
apiHost?: string;
/** Custom host for Firestore (e.g., 'firestore-proxy.customer.com') */
v2DbHost?: string;
/** Custom host for Firebase RTDB (e.g., 'rtdb-proxy.customer.com'). Replaces the firebaseio.com domain in all RTDB URLs. */
v1DbHost?: string;
/** Custom host for Firebase Storage (e.g., 'storage-proxy.customer.com'). Replaces firebasestorage.googleapis.com. */
storageHost?: string;
/** Custom host for Firebase Auth (e.g., 'auth-proxy.customer.com'). Replaces identitytoolkit.googleapis.com and securetoken.googleapis.com. */
authHost?: string;
/** Force long-polling for Firestore and RTDB instead of WebSocket. Default: false (WebSocket). */
forceLongPolling?: boolean;
}
export interface ExtendedFirebaseOptions extends FirebaseOptions {
storeDbId: string;
region?: string;
}
export interface AdvancedQueries {
advancedQueriesEnabled: boolean;
advancedQueriesEnabledTime: number;
}
export interface DisableLogsConfig {
warnings?: boolean;
suppressAll?: boolean;
}
export interface GetProjectConfigResponse {
isPrivateCommentsEnabled: boolean;
activityConfig?: ActivityConfig;
}
export interface ActivityConfig {
immutable: boolean;
isEnabled: boolean;
}