export type ExposeTarget = { type: "port"; port: number; } | { type: "unix"; path: string; }; export type ExposeMode = "public" | "local-network"; export type ExposeEndpointAuth = { enabled: true; passwordHash: string; }; export type ExposeEndpoint = { id: string; target: ExposeTarget; provider: string; domain: string; mode: ExposeMode; auth: ExposeEndpointAuth | null; createdAt: number; updatedAt: number; }; export type ExposeTunnelProvider = { instanceId: string; domain: string; capabilities: { public: boolean; localNetwork: boolean; }; createTunnel: (proxyPort: number, mode: ExposeMode) => Promise<{ domain: string; }>; destroyTunnel: (domain: string) => Promise; }; export type ExposeCreateInput = { target: ExposeTarget; provider?: string; mode: ExposeMode; authenticated: boolean; }; export type ExposeUpdateInput = { authenticated: boolean; }; export type ExposeProviderRegistrationApi = { registerProvider: (provider: ExposeTunnelProvider) => Promise; unregisterProvider: (instanceId: string) => Promise; listProviders: () => Array<{ instanceId: string; domain: string; capabilities: { public: boolean; localNetwork: boolean; }; }>; }; /** * Validates and normalizes an expose target payload. * Expects: value is either a port target or unix socket target. */ export declare function exposeTargetParse(value: unknown): ExposeTarget; /** * Validates and normalizes expose create arguments. * Expects: mode and target are provided. */ export declare function exposeCreateInputParse(value: unknown): ExposeCreateInput; /** * Validates expose update arguments. * Expects: authenticated boolean is present. */ export declare function exposeUpdateInputParse(value: unknown): ExposeUpdateInput; /** * Validates a persisted endpoint object. * Expects: timestamps are unix milliseconds. */ export declare function exposeEndpointParse(value: unknown): ExposeEndpoint; /** * Normalizes and validates a DNS host value. * Expects: domain is a fully-qualified hostname. */ export declare function exposeDomainNormalize(domain: string): string; /** * Validates that a mode is supported by provider capabilities. * Expects: provider capability flags are explicit booleans. */ export declare function exposeModeSupported(mode: ExposeMode, capabilities: { public: boolean; localNetwork: boolean; }): boolean; //# sourceMappingURL=exposeTypes.d.ts.map