import type { ProviderPack } from "../types/index.js"; /** * Result of parsing a provider pack. */ export interface ParseResult { errors: string[]; pack?: ProviderPack; } /** * Summary of what was imported from a provider pack. The primary import (profiles and domains) is tracked separately from the secondary channel import so that * callers can report partial success accurately — profiles may save while channels fail. */ export interface ImportSummary { channelsAdded: number; domainsAdded: number; errors: string[]; profilesAdded: number; success: boolean; } /** * Parses and validates a raw provider pack import. Checks the version field, validates profiles and domains via the userProfiles validation functions. * @param data - The raw JSON data to parse. * @returns Parse result with validated pack or errors. */ export declare function parseProviderPack(data: unknown): ParseResult; /** * Imports a validated provider pack by writing its contents to profiles.json and optionally channels.json. Returns a summary of what was added. * @param pack - The validated provider pack to import. * @param options - Import options. Set skipChannels to true to skip importing channels even if the pack contains them. * @returns Summary of what was imported. */ export declare function importProviderPack(pack: ProviderPack, options?: { skipChannels?: boolean; }): Promise; /** * Exports one or more user profiles and their associated domain mappings as a provider pack JSON object. Optionally includes channels that reference the * selected profiles. * @param profileKeys - Array of user profile keys to export. * @param options - Export options controlling what to include. * @returns The provider pack object, or null if none of the requested profiles exist. */ export declare function exportProviderPack(profileKeys: string[], options?: { includeChannels?: boolean; includeDomains?: boolean; name?: string; }): ProviderPack | null;