import type { TargetDiscoveryDescriptor } from './discovery.js'; export interface TargetRecord { readonly id: string; readonly url: string; readonly adapterVersion: string; readonly deviceToken: string; readonly organization?: { readonly id: string; readonly name?: string; }; readonly refreshInvalidated?: true; readonly createdAt: string; } export declare class TargetNameInvalidError extends Error { constructor(name: string); } export declare class TargetNameExistsError extends Error { constructor(name: string); } export declare class TargetNotFoundError extends Error { constructor(name: string); } export declare class TargetUrlInvalidError extends Error { constructor(url: string, reason: string); } export declare function validateTargetName(name: string): void; export declare function normalizeAndValidateUrl(rawUrl: string): string; interface SettingsWithTargets { _targets?: Record; [key: string]: unknown; } export interface SettingsPort { load(): SettingsWithTargets; mutate(mutator: (settings: SettingsWithTargets) => void): void; } export declare function addTarget(name: string, rawUrl: string, settings: SettingsPort, descriptor: TargetDiscoveryDescriptor): TargetRecord; export declare function removeTarget(name: string, settings: SettingsPort): TargetRecord; export declare function getTarget(name: string, settings: SettingsPort): TargetRecord | null; export declare function listTargets(settings: SettingsPort): Array<{ name: string; record: TargetRecord; }>; export declare function updateTargetOrganization(name: string, organization: { id: string; name?: string; }, settings: SettingsPort): void; export declare function targetRefreshIsInvalidated(name: string, settings: SettingsPort): boolean; export declare function setTargetRefreshInvalidated(name: string, invalidated: boolean, settings: SettingsPort): void; export {};