import { RedeemSessionExclusiveProps } from './types.js'; export declare const hmacSign: (data: string, secret: string) => string; type SignatureProps = { /** * The protocol, domain, optional port and /embed/login route of the request. * * Example: `https://example.embed-omniapp.com/embed/login` */ loginUrl: string; /** * The path to the content being embedded. * * Example: /embed/dashboards/123abc */ contentPath: string; /** * The external id of the user. */ externalId: string; /** * The name of the user. */ name: string; /** * The nonce of the request. */ nonce: string; /** * The secret used to sign the request */ secret: string; /** * The access boost setting for content specified in this Embed SSO URL. */ accessBoost?: boolean; /** * The branch setting that sets the model branch of the embed session. */ branch?: string; /** * The connection roles to be associated with the embed user. Expected to be a stringified JSON object. */ connectionRoles?: string; /** * The custom theme to be sent with the request. Expected to be a stringified JSON object. * * Example: '{ "dashboard-background-color": "hotpink" }' */ customTheme?: string; /** * The custom theme id to be sent with the request. This Id refers to an Custom Theme created in the Omni App. */ customThemeId?: string; /** * The email of the embed user. */ email?: string; /** * An associated entity / group for the embed user. */ entity?: string; /** * The content role for the embed user on the entity folder. */ entityFolderContentRole?: string; /** * The content role for the entity group on the entity folder. */ entityFolderGroupContentRole?: string; /** * The label for the generated entity folder. */ entityFolderLabel?: string; /** * The label for the generated entity group. */ entityGroupLabel?: string; /** * Filter search parameter. */ filterSearchParam?: string; /** * Stringified string array of group names. */ groups?: string; /** * String denoting level of link access. */ linkAccess?: string; /** * The mode of the embedded content. */ mode?: string; /** * The model roles to be associated with the embed user. Expected to be a stringified JSON object. */ modelRoles?: string; /** * Whether the user prefers light, dark, or system theme. */ prefersDark?: string; /** * When true, the embed will not apply a custom theme to the embedded content. * This is useful when the embed is used in a context where the custom theme * is already applied, such as in an Omni app. */ preserveEntityFolderContentRole?: boolean; /** * The theme of the embed. */ theme?: string; /** * IANA timezone override applied to the embed session's query execution. * * Example: "America/New_York" */ timezone?: string; /** * The UI settings for the embedded content. */ uiSettings?: string; /** * The user attributes to be sent with the request. Expected to be a stringified JSON object. * * Example: '{ "team": "Lakers" }' */ userAttributes?: string; }; /** * Creates a signature value for the /embed/login endpoint. */ export declare const getSignature: ({ secret, ...props }: SignatureProps) => string; type RequestUrl = { requestUrl: string; }; type SignSessionRedemptionProps = Pick & RequestUrl & { sessionId: string; }; /** * Creates a signature value for the /embed/sso/redeem-session endpoint. * * For context, the /embed/sso/redeem-session endpoint is step 2 of the * embed 2-step login flow. All requests to this endpoint require a signature * that is generated based on all other request parameters. That signature is * validated by the Omni app server to ensure the request is authentic. */ export declare const signSessionRedemption: ({ requestUrl, nonce, sessionId, secret, branch, prefersDark, theme, }: SignSessionRedemptionProps) => string; export declare const TEST_ONLY: { generateStringForSignature: ({ loginUrl, contentPath, externalId, name, nonce, accessBoost, branch, connectionRoles, customTheme, customThemeId, email, entity, entityFolderContentRole, entityFolderGroupContentRole, entityFolderLabel, entityGroupLabel, filterSearchParam, groups, linkAccess, mode, modelRoles, prefersDark, preserveEntityFolderContentRole, theme, timezone, uiSettings, userAttributes, }: Omit) => string; }; export {};