/*
 * Public API Surface of common
 */

// Domain (DDD Value Objects & Repository Interfaces)
export * from './lib/domain';

// Infrastructure (Encryption & Repository Implementations)
export * from './lib/infrastructure';

// Common
export * from './lib/common/nav-component';

// Constants
export * from './lib/constants/fallback-relays';
export * from './lib/constants/event-kinds';

// Helpers
export * from './lib/helpers/crypto-helper';
export * from './lib/helpers/argon2-crypto';
export * from './lib/helpers/nostr-helper';
export * from './lib/helpers/text-helper';
export * from './lib/helpers/date-helper';
export * from './lib/helpers/websocket-auth';
export * from './lib/helpers/nip05-validator';

// Models
export * from './lib/models/nostr';
export * from './lib/models/webln';

// Services (and related)
export * from './lib/services/storage/storage.service';
export * from './lib/services/storage/types';
export * from './lib/services/storage/browser-sync-handler';
export * from './lib/services/storage/browser-session-handler';
export * from './lib/services/storage/signer-meta-handler';
export * from './lib/services/storage/related/nwc';
export * from './lib/services/storage/related/cashu';
export * from './lib/services/nwc/nwc.service';
export * from './lib/services/nwc/nwc-client';
export * from './lib/services/nwc/types';
export * from './lib/services/cashu/cashu.service';
export * from './lib/services/cashu/types';
export * from './lib/services/logger/logger.service';
export * from './lib/services/startup/startup.service';
export * from './lib/services/profile-metadata/profile-metadata.service';
export * from './lib/services/relay-list/relay-list.service';

// Components
export * from './lib/components/icon-button/icon-button.component';
export * from './lib/components/confirm/confirm.component';
export * from './lib/components/toast/toast.component';
export * from './lib/components/nav-item/nav-item.component';
export * from './lib/components/pubkey/pubkey.component';
export * from './lib/components/relay-rw/relay-rw.component';
export * from './lib/components/deriving-modal/deriving-modal.component';

// Pipes
export * from './lib/pipes/visual-relay.pipe';
export * from './lib/pipes/visual-nip05.pipe';