import { RVDashboardDataSource } from "./sdk-model/AbstractClasses/RVDashboardDataSource"; import { RVDataSourceItem } from "./sdk-model/AbstractClasses/RVDataSourceItem"; import { IncomingMessage, RequestListener } from 'http'; import { IDashboardExporter } from "./exporter/exporter"; import { IRVUserContext } from "./IRVUserContext"; import { Readable } from "stream"; export { IDashboardExporter} from "./exporter/exporter"; export { IDashboardTheme} from "./exporter/DashboardTheme"; export { IRVUserContext } from "./IRVUserContext"; export * from "./exporter/ExportOptions"; export * from "./sdk-model/rvDataSourceExports" export declare class RVUserContext implements IRVUserContext { constructor(userId: string, properties: Map); get userId(): string; get properties(): Map; } export declare interface IRVDataSourceCredential { } export declare class RVUsernamePasswordDataSourceCredential implements IRVDataSourceCredential { constructor(userName: string, password: string, domain?: string); get userName(): string; get password(): string; get domain(): string | null; } export declare class RVBearerTokenDataSourceCredential implements IRVDataSourceCredential { constructor(token: string, userId?: string); get token(): string; get userId(): string | null; } export declare class RVHeadersDataSourceCredentials implements IRVDataSourceCredential { constructor(); constructor(headers:Map); constructor(singleHeaderName:string, singleHeaderValue:string); get headers(): Map; addHeader(singleHeaderName:string, singleHeaderValue:string): void; } export declare class RVAmazonWebServicesCredentials implements IRVDataSourceCredential { constructor(key: string, secret: string, sessionToken?: string); get key(): string; get secret(): string; get sessionToken(): string | null; } export declare class RVIntegratedAuthenticationCredential implements IRVDataSourceCredential { constructor(); } export declare class RVPersonalAccessTokenDataSourceCredential implements IRVDataSourceCredential { constructor(token: string); get token(): string; } export declare class RVOAuthDataSourceCredential implements IRVDataSourceCredential { constructor(clientId: string, clientSecret: string); get clientId(): string; get clientSecret(): string; } export declare class RVMicrosoftEntraIDDataSourceCredential implements IRVDataSourceCredential { constructor(tenantId: string, clientId: string, clientSecret: string); get tenantId(): string; get clientId(): string; get clientSecret(): string; } export declare class RVKeyPairDataSourceCredential implements IRVDataSourceCredential { constructor(userName: string, privateKey: string); get userName(): string; get privateKey(): string; } export declare type RedisCacheOptions = { connectionString?: string; endPoints?: string[]; user?: string; password?: string; useSsl?: boolean; defaultDatabase?: number; clientName?: string; connectTimeoutMs?: number; syncTimeoutMs?: number; asyncTimeoutMs?: number; connectRetry?: number; keepAliveSeconds?: number; abortOnConnectFail?: boolean; allowAdmin?: boolean; reconnectRetryPolicy?: string; retryDelayMs?: number; } export declare type RevealOptions = { basePath?: string, cachePath?: string, engineLogDir?: string, engineLogLevel?: string, license?: string, localFileStoragePath?: string, authenticationProvider?: (userContext:IRVUserContext | null, dataSource:RVDashboardDataSource) => Promise, dashboardProvider?: (userContext:IRVUserContext | null, dashboardId:string) => Promise, dashboardStorageProvider?: (userContext:IRVUserContext | null, dashboardId: string, stream: Readable) => Promise, userContextProvider?: (request:IncomingMessage) => IRVUserContext | null, dataSourceProvider?: (userContext: IRVUserContext | null, dataSource: RVDashboardDataSource) => Promise, dataSourceItemProvider?: (userContext: IRVUserContext | null, dataSource: RVDataSourceItem) => Promise, dataSourceItemFilter?: (userContext: IRVUserContext | null, dataSourceItem: RVDataSourceItem) => Promise, _internal_revealEnginePrgPath?: string, advancedSettings?: Map, maxFilterSize?: Number, dataSources?: Array, isLegacyCacheEnabled?: boolean, enableCacheEncryption?: boolean, cacheEncryptionPassword?: string, newLocalProcessingEnabled?: boolean, redisOptions?: RedisCacheOptions } export declare class RevealServer { close(callback?: () => void): void; exporter: IDashboardExporter; } export declare type RevealRequestListener = RequestListener & RevealServer; export default function create(options?: RevealOptions): RevealRequestListener;