import { QPQConfig, QpqFunctionRuntime } from 'quidproquo-core'; import { ApiKeyQPQWebServerConfigSetting, CacheQPQWebServerConfigSetting, CertificateQPQWebServerConfigSetting, DefaultRouteOptionsQPQWebServerConfigSetting, DnsQPQWebServerConfigSetting, DomainProxyQPQWebServerConfigSetting, EmailSenderQPQWebServerConfigSetting, FileUploadSettings, OpenApiQPQWebServerConfigSetting, RouteQPQWebServerConfigSetting, SeoQPQWebServerConfigSetting, ServiceFunctionQPQWebServerConfigSetting, SubdomainRedirectQPQWebServerConfigSetting, WebSocketQPQWebServerConfigSetting } from '../config'; import { ApiQPQWebServerConfigSetting, WebEntryQPQWebServerConfigSetting } from '../config'; export declare const getAllRoutes: (qpqConfig: QPQConfig) => RouteQPQWebServerConfigSetting[]; export declare const getAllRoutesForApi: (apiName: string, qpqConfig: QPQConfig) => RouteQPQWebServerConfigSetting[]; export declare const getAllApiKeyConfigs: (qpqConfig: QPQConfig) => ApiKeyQPQWebServerConfigSetting[]; export declare const getAllSeo: (qpqConfig: QPQConfig) => SeoQPQWebServerConfigSetting[]; export declare const getAllServiceFunctions: (qpqConfig: QPQConfig) => ServiceFunctionQPQWebServerConfigSetting[]; export declare const getOwnedServiceFunctions: (qpqConfig: QPQConfig) => ServiceFunctionQPQWebServerConfigSetting[]; export declare const getAllOpenApiSpecs: (configs: QPQConfig) => OpenApiQPQWebServerConfigSetting[]; export declare const getAllWebsocketSrcEntries: (qpqConfig: QPQConfig) => QpqFunctionRuntime[]; export declare const getAllSrcEntries: (configs: QPQConfig) => QpqFunctionRuntime[]; export declare const getDomainName: (configs: QPQConfig) => string; export declare const getWebEntry: (configs: QPQConfig) => string; export declare const getWebsocketEntryByApiName: (apiName: string, qpqConfig: QPQConfig) => WebSocketQPQWebServerConfigSetting; export declare const getSubdomainRedirects: (configs: QPQConfig) => SubdomainRedirectQPQWebServerConfigSetting[]; export declare const getApiConfigs: (configs: QPQConfig) => ApiQPQWebServerConfigSetting[]; export declare const getDnsConfigs: (configs: QPQConfig) => DnsQPQWebServerConfigSetting[]; export declare const getWebEntryConfigs: (configs: QPQConfig) => WebEntryQPQWebServerConfigSetting[]; export declare const getDomainProxyConfigs: (configs: QPQConfig) => DomainProxyQPQWebServerConfigSetting[]; export declare const getAllOwnedCacheConfigs: (qpqConfig: QPQConfig) => CacheQPQWebServerConfigSetting[]; export declare const getAllOwnedCertifcateConfigs: (qpqConfig: QPQConfig) => CertificateQPQWebServerConfigSetting[]; export declare const getCacheConfigByName: (cacheConfigName: string, qpqConfig: QPQConfig) => CacheQPQWebServerConfigSetting; export declare const getEnvironmentDomainName: (configs: QPQConfig) => string; export declare const getBaseDomainName: (qpqConfig: QPQConfig) => string; export declare const getServiceDomainName: (qpqConfig: QPQConfig) => string; /** * Resolve browser CORS origins for a service resource. An explicit list wins; * otherwise scope to this service's own domain (apex + one-level subdomain * wildcard, which S3/CloudFront both support). Falls back to '*' only when the * service declares no domain at all (nothing browser-facing). * * Note: key off the raw dns base (`getDomainName`) to detect "no domain" — * `getBaseDomainName` still returns an env prefix like `development.` here. */ export declare const resolveServiceScopedCorsAllowedOrigins: (qpqConfig: QPQConfig, explicitOrigins?: string[]) => string[]; /** * Browser origins allowed to read/write a storage drive's objects cross-origin * (e.g. presigned uploads/downloads), looked up by the drive's name. An explicit * `defineStorageDriveCorsSettings` wins; otherwise the service-scoped default. */ export declare const getStorageDriveCorsAllowedOrigins: (qpqConfig: QPQConfig, storageDriveName: string) => string[]; /** * Whether any web entry in this service serves its assets from the named storage * drive (`storageDrive.sourceStorageDrive`) — i.e. the drive's bucket is a * CloudFront origin. Drives with no web entry consumer need no CloudFront access * to their bucket at all. */ export declare const isStorageDriveWebEntryOrigin: (qpqConfig: QPQConfig, storageDriveName: string) => boolean; export declare const defaultFileUploadSettings: FileUploadSettings; export declare const getFileUploadSettings: (qpqConfig: QPQConfig) => FileUploadSettings; export declare const resolveApexDomainNameFromDomainConfig: (qpqConfig: QPQConfig, rootDomain: string, onRootDomain: boolean) => string; export declare const constructServiceDomainName: (rootDomain: string, environment: string, service: string, feature?: string) => string; export declare const constructEnvironmentDomainName: (environment: string, domain: string) => string; export declare const getDefaultRouteSettings: (qpqConfig: QPQConfig) => DefaultRouteOptionsQPQWebServerConfigSetting[]; export declare const getDomainRoot: (rootDomain: string, environment: string, feature?: string) => string; export declare const resolveDomainRoot: (rootDomain: string, qpqConfig: QPQConfig) => string; export declare const getEmailSenderSettings: (qpqConfig: QPQConfig) => EmailSenderQPQWebServerConfigSetting[]; export declare const getWebsocketSettings: (qpqConfig: QPQConfig) => WebSocketQPQWebServerConfigSetting[]; export declare const getOwnedWebsocketSettings: (qpqConfig: QPQConfig) => WebSocketQPQWebServerConfigSetting[];