import { type PublisherServerConfig, type PublisherServerConfigNormalized } from './publisher-server-config.js'; import { type ContentCompressionTypes } from '../compression/index.js'; export type ContentTypeTest = (name: string) => boolean; export type ContentTypeDef = { test: RegExp | ContentTypeTest; contentType: string; text?: boolean; precompressAsset?: boolean; }; export type ContentTypeTestResult = { contentType: string; text: boolean; precompressAsset: boolean; }; export interface ExcludeDirTest { test(name: string): boolean; } export type KVStoreAssetInclusionTest = (assetKey: string, contentType?: string) => boolean; export type PublishContentConfig = { rootDir: string; excludeDirs?: (string | ExcludeDirTest)[] | string | ExcludeDirTest | null; excludeDotFiles?: boolean; includeWellKnown?: boolean; kvStoreAssetInclusionTest?: KVStoreAssetInclusionTest | null; contentCompression?: ('br' | 'gzip')[]; contentTypes?: ContentTypeDef[]; server?: PublisherServerConfig | null; }; export type PublishContentConfigNormalized = { rootDir: string; excludeDirs: ExcludeDirTest[]; excludeDotFiles: boolean; includeWellKnown: boolean; kvStoreAssetInclusionTest: KVStoreAssetInclusionTest | null; contentCompression: ContentCompressionTypes[]; contentTypes: ContentTypeDef[]; server: PublisherServerConfigNormalized | null; }; //# sourceMappingURL=publish-content-config.d.ts.map