import type { FileSystem } from './file-operations';
import type { DomainInfo } from '../templates/context';
/**
 * Pure function to capitalize first letter of a string
 */
export declare const capitalizeFirstLetter: (str: string) => string;
/**
 * Pure function to create domain info from domain name
 */
export declare const createDomainInfo: (domainName: string) => DomainInfo;
/**
 * Pure function to build domains directory path
 */
export declare const buildDomainsPath: (projectRoot?: string) => string;
/**
 * Pure function to build context directory path
 */
export declare const buildContextPath: (projectRoot?: string) => string;
/**
 * Pure function to build service context file path
 */
export declare const buildServiceContextFilePath: (projectRoot?: string) => string;
/**
 * Pure function to build service context test file path
 */
export declare const buildServiceContextTestFilePath: (projectRoot?: string) => string;
/**
 * Pure function to validate if a domain has required structure
 */
export declare const validateDomainStructure: (fileSystem: FileSystem, domainPath: string, domainName: string) => Promise<boolean>;
/**
 * Pure function to filter valid domains from directory entries
 */
export declare const filterValidDomains: (fileSystem: FileSystem, domainsPath: string, directoryEntries: string[]) => Promise<string[]>;
/**
 * Pure function to check if path is a directory
 */
export declare const isDirectoryEntry: (fileSystem: FileSystem, entryPath: string) => Promise<boolean>;
/**
 * Get all valid domains from the domains directory
 */
export declare const getExistingDomains: (fileSystem: FileSystem, projectRoot?: string) => Promise<DomainInfo[]>;
/**
 * Parse existing service context to extract current domains
 */
export declare const parseExistingServiceContext: (fileSystem: FileSystem, projectRoot?: string) => Promise<DomainInfo[]>;
/**
 * Find domains that are not yet in the service context
 */
export declare const findMissingDomains: (fileSystem: FileSystem, projectRoot?: string) => Promise<DomainInfo[]>;
//# sourceMappingURL=domain-analyzer.d.ts.map