import type { DeploymentStrategy, LoggingStrategy, TemplateStrategy, ValidationStrategy } from './strategy.types';
/**
 * Default template strategy implementation
 *
 * Provides basic template handling functionality that can be overridden
 * by custom implementations for specialized template processing.
 */
export declare class DefaultTemplateStrategy implements TemplateStrategy {
    readonly role: "template";
    readonly name = "DefaultTemplateStrategy";
    getAvailableTemplates(): Promise<string[]>;
    validateTemplate(template: string): Promise<boolean>;
    processTemplate(templatePath: string, targetPath: string, variables: Record<string, unknown>): Promise<void>;
}
/**
 * Default deployment strategy implementation
 *
 * Provides standard deployment validation and execution that can be
 * customized for different deployment environments or requirements.
 */
export declare class DefaultDeploymentStrategy implements DeploymentStrategy {
    readonly role: "deployment";
    readonly name = "DefaultDeploymentStrategy";
    validateDeployment(config: unknown): Promise<boolean>;
    executeDeployment(config: unknown, context: unknown): Promise<void>;
    postDeployment(result: unknown): Promise<void>;
}
/**
 * Default logging strategy implementation
 *
 * Provides standard log formatting and output handling that can be
 * customized for different logging requirements or destinations.
 */
export declare class DefaultLoggingStrategy implements LoggingStrategy {
    readonly role: "logging";
    readonly name = "DefaultLoggingStrategy";
    formatMessage(level: string, message: string, metadata?: Record<string, unknown>): string;
    handleOutput(output: unknown): Promise<void>;
}
/**
 * Default validation strategy implementation
 *
 * Provides basic option and environment validation that can be
 * extended for more sophisticated validation requirements.
 */
export declare class DefaultValidationStrategy implements ValidationStrategy {
    readonly role: "validation";
    readonly name = "DefaultValidationStrategy";
    validateOptions(options: unknown): Promise<{
        valid: boolean;
        errors: string[];
    }>;
    validateEnvironment(environment: unknown): Promise<boolean>;
}
/**
 * Factory function to create default strategy instances
 *
 * @returns Object containing default strategy instances for all supported roles
 */
export declare function createDefaultStrategies(): {
    template: DefaultTemplateStrategy;
    deployment: DefaultDeploymentStrategy;
    logging: DefaultLoggingStrategy;
    validation: DefaultValidationStrategy;
};
