import { SCNotificationsType, SCNotificationsWebPushMessagingType, SCNotificationsWebSocketType, SCSettingsType } from '../types/context';
import { ValidationResult } from './errors';
import { SCLocaleType } from '../types';
/**
 * Validate session option
 * @param session
 * @return {}
 */
export declare function validateSession(v: Record<string, any>): {
    errors: any[];
    warnings: any[];
    value: Record<string, any>;
};
/**
 * Validate session type
 * @param value
 * @return {}
 */
export declare const validateSessionType: (value: any, session: any) => {
    errors: any[];
    warnings: any[];
    value: any;
};
/**
 * Validate session client id
 * @param value
 * @return {}
 */
export declare const validateSessionClientId: (value: any, session: any) => {
    errors: any[];
    warnings: any[];
    value: any;
};
/**
 * Validate session auth token
 * @param value
 * @return {}
 */
export declare const validateSessionAuthTokenOption: (value: any, session: any) => {
    errors: any[];
    warnings: any[];
    value: any;
};
/**
 * Validate handleRefreshToken option
 * @param value
 * @return {}
 */
export declare const validateHandleRefreshToken: (value: any, session: any) => {
    errors: any[];
    warnings: any[];
    value: any;
};
/**
 * Validate notifications option
 * @param notifications
 * @return {}
 */
export declare function validateNotifications(v: SCNotificationsType): {
    errors: any[];
    warnings: any[];
    value: SCNotificationsType;
};
/**
 * Validate webSocket
 * @param value
 * @param {}
 */
export declare const validateWebSocket: (v: any) => {
    errors: any[];
    warnings: any[];
    v: any;
    value?: undefined;
} | {
    errors: any[];
    warnings: any[];
    value: SCNotificationsWebSocketType;
    v?: undefined;
};
/**
 * Validate default disableToastMessage (webSocket)
 * @param value
 * @param {}
 */
export declare const validateWebSocketDisableToastMessage: (value: any, notifications: any) => {
    errors: any[];
    warnings: any[];
    value: any;
};
/**
 * Validate webPushMessaging
 * @param value
 * @param {}
 */
export declare const validateWebPushMessaging: (v: any) => {
    errors: any[];
    warnings: any[];
    v: any;
    value?: undefined;
} | {
    errors: any[];
    warnings: any[];
    value: SCNotificationsWebPushMessagingType;
    v?: undefined;
};
/**
 * Validate default disableToastMessage (webPushMessaging)
 * @param value
 * @param {}
 */
export declare const validateWebPushMessagingDisableToastMessage: (value: any, notifications: any) => {
    errors: any[];
    warnings: any[];
    value: any;
};
/**
 * Validate default applicationServerKey (webPushMessaging)
 * @param value
 * @param {}
 */
export declare const validateWebPushMessagingApplicationServerKey: (value: any, notifications: any) => {
    errors: any[];
    warnings: any[];
    value: any;
};
/**
 * Validate portal option
 * @param portal
 * @return {}
 */
export declare const validatePortal: (value: any) => {
    errors: any[];
    warnings: any[];
    value: any;
};
/**
 * Validate default locale
 * @param value
 * @param {}
 */
export declare const validateLocaleDefault: (value: any, locale: any) => {
    errors: any[];
    warnings: any[];
    value: any;
};
/**
 * Validate default locale
 * @param value
 * @param {}
 */
export declare const validateLocaleMessages: (value: any) => {
    errors: any[];
    warnings: any[];
    value: any;
};
/**
 * Validate locale option
 * @param locale
 * @return {}
 */
export declare const validateLocale: (v: any) => {
    errors: any[];
    warnings: any[];
    v: any;
    value?: undefined;
} | {
    errors: any[];
    warnings: any[];
    value: SCLocaleType;
    v?: undefined;
};
/**
 * Validate router option
 * @param router
 * @return {}
 */
export declare const validateRouter: (value: any) => {
    errors: any[];
    warnings: any[];
    value: any;
};
/**
 * Validate theme option
 * @param theme
 * @return {}
 */
export declare const validateTheme: (value: any) => {
    errors: any[];
    warnings: any[];
    value: any;
};
/**
 * Validate handleAnonymousAction option
 * @param handleAnonymousAction
 * @return {}
 */
export declare const validateHandleAnonymousAction: (v: any) => {
    errors: any[];
    warnings: any[];
    value: any;
};
/**
 * Validate contextProviders option
 * @param contextProviders
 * @return [...contextProviders]
 */
export declare const validateContextProviders: (value: any) => {
    errors: any[];
    warnings: any[];
    value: any;
};
/**
 * Valid options
 * @type {{}}
 */
export declare const settingsOptions: Record<string, any>;
export declare const sessionOptions: Record<string, any>;
export declare const localeOptions: Record<string, any>;
export declare const notificationsOptions: Record<string, any>;
export declare const notificationsWebSocketOptions: Record<string, any>;
export declare const notificationsWebSPushMessagingOptions: Record<string, any>;
export declare const validOptions: {
    [x: string]: any;
};
/**
 * Validate all options by type
 * @param options
 * @return {options hydrated}
 */
export declare const validateOptions: (values: SCSettingsType, schemaOptions: Record<string, any>) => {
    validationResult: ValidationResult;
    values: SCSettingsType;
    settings?: undefined;
} | {
    validationResult: ValidationResult;
    settings: SCSettingsType;
    values?: undefined;
};
//# sourceMappingURL=validator.d.ts.map