import type { Friend } from './friends.js';
import type { FreeAppStore } from './index.js';
import type { User } from './types.js';
export type { User } from './types.js';
export type { UseVoiceInputReturn } from './voice.js';
export { useVoiceInput } from './voice.js';
type ThemePreference = 'light' | 'dark' | 'system';
type ResolvedTheme = 'light' | 'dark';
/**
* Theme hook — zero-provider. Persists preference, applies data-theme on html element.
*
* Usage:
* ```tsx
* const { theme, preference, setPreference } = useTheme()
* // theme: 'light' | 'dark' (resolved)
* // preference: 'light' | 'dark' | 'system' (user's choice)
* ```
*/
export declare function useTheme(): {
theme: ResolvedTheme;
preference: ThemePreference;
setPreference: (pref: ThemePreference) => void;
};
/**
* Auth state + actions. The primary way apps interact with platform identity.
*
* Usage:
* ```tsx
* const { user, loading, signIn, signOut, deleteAccount } = useAuth(fas)
* if (loading) return
Welcome, {user.login}!
* ``` */ export declare function useAuth(app: FreeAppStore): { user: User | null; loading: boolean; signIn: () => void; signOut: () => void; deleteAccount: () => Promise