import { a as FamilySearchSDKConfig, F as FamilySearchEnvironment, E as EnvironmentConfig, b as FamilySearchApiResponse, d as FamilySearchUser, e as FamilySearchPerson, i as PersonWithRelationships, j as PersonNotesResponse, w as PersonMemoriesResponse, h as RelationshipDetails, p as PedigreeData, x as PersonSearchResponse, k as FamilySearchPlace } from './index-D6H-lvis.js'; /** * FamilySearch SDK Client * * A modern, TypeScript-first SDK for FamilySearch API v3 * * Features: * - Full TypeScript support with comprehensive type definitions * - OAuth v3 compatible * - Promise-based API * - Environment support (production, beta, integration) * - Configurable logging */ declare const ENVIRONMENT_CONFIGS: Record; /** * FamilySearch SDK Client * * @example * ```typescript * const sdk = new FamilySearchSDK({ * environment: 'production', * accessToken: 'your-oauth-token' * }); * * const user = await sdk.getCurrentUser(); * console.log(user?.displayName); * ``` */ declare class FamilySearchSDK { private environment; private accessToken; private appKey; private logger; constructor(config?: FamilySearchSDKConfig); /** * Get the current environment */ getEnvironment(): FamilySearchEnvironment; /** * Set OAuth access token */ setAccessToken(token: string): void; /** * Get current access token */ getAccessToken(): string | null; /** * Clear access token */ clearAccessToken(): void; /** * Check if SDK has a valid access token */ hasAccessToken(): boolean; /** * Get environment configuration */ getConfig(): EnvironmentConfig; /** * Make authenticated API request */ private request; /** * GET request */ get(url: string, options?: RequestInit): Promise>; /** * POST request */ post(url: string, body?: unknown, options?: RequestInit): Promise>; /** * PUT request */ put(url: string, body?: unknown, options?: RequestInit): Promise>; /** * DELETE request */ delete(url: string, options?: RequestInit): Promise>; /** * Get current authenticated user */ getCurrentUser(): Promise; /** * Get person by ID */ getPerson(personId: string): Promise; /** * Get person with full details including sources */ getPersonWithDetails(personId: string): Promise; /** * Get notes for a person */ getPersonNotes(personId: string): Promise; /** * Get memories for a person */ getPersonMemories(personId: string): Promise; /** * Get couple relationship details */ getCoupleRelationship(relationshipId: string): Promise; /** * Get child-and-parents relationship details */ getChildAndParentsRelationship(relationshipId: string): Promise; /** * Get ancestry for a person */ getAncestry(personId: string, generations?: number): Promise>; /** * Get descendancy for a person */ getDescendancy(personId: string, generations?: number): Promise>; /** * Search for persons */ searchPersons(query: Record, options?: { start?: number; count?: number; }): Promise>; /** * Search for places */ searchPlaces(name: string, options?: { parentId?: string; typeId?: string; date?: string; start?: number; count?: number; }): Promise<{ places: FamilySearchPlace[]; } | null>; /** * Get place by ID */ getPlace(placeId: string): Promise; /** * Get GEDCOM export for a person and their ancestors */ exportGEDCOM(personId: string): Promise; } /** * Initialize the global SDK instance */ declare function initFamilySearchSDK(config?: FamilySearchSDKConfig): FamilySearchSDK; /** * Get the global SDK instance */ declare function getFamilySearchSDK(): FamilySearchSDK; /** * Create a new SDK instance (for testing or multiple environments) */ declare function createFamilySearchSDK(config?: FamilySearchSDKConfig): FamilySearchSDK; /** * Reset the global SDK instance (mainly for testing) */ declare function resetFamilySearchSDK(): void; export { ENVIRONMENT_CONFIGS as E, FamilySearchSDK as F, createFamilySearchSDK as c, getFamilySearchSDK as g, initFamilySearchSDK as i, resetFamilySearchSDK as r };