import React from 'react';
import { IStorage } from '@elacity-js/lib';
import { IUserPreferences } from '../types';
interface AppLinks {
    documentation?: string;
    socials?: {
        provider: string;
        url: string;
    }[];
}
interface LogoSet {
    primary: string;
    alt?: string;
    minimized?: string;
}
export interface AppSettingsContextValue {
    appName: string;
    logo: LogoSet;
    links?: AppLinks;
    values: IUserPreferences;
    setValues: (v: Partial<IUserPreferences>) => void;
    load: () => void;
}
export declare const defaultValues: IUserPreferences;
interface AppSettingsProviderProps {
    appName: string;
    logo: LogoSet;
    storage: IStorage<IUserPreferences>;
    links?: AppLinks;
}
declare const AppSettingsContext: React.Context<AppSettingsContextValue>;
export declare const AppSettingsProvider: ({ appName, logo: _logo, links, storage, children, }: React.PropsWithChildren<AppSettingsProviderProps>) => JSX.Element;
export default AppSettingsContext;
