import { type CustomAIApplicationProviderConfig, type CustomAILanguage } from '../../util/customAIApplication/types';
export declare const MASKED_ENV_VALUE = "***";
export declare class CustomAIApplicationService {
    validateBundleFromPath(params: {
        zipFilePath: string;
        language: CustomAILanguage;
        applicationPath: string;
    }): import("../../util/customAIApplication/validateCustomAIBundle").CustomAIBundleValidationResult;
    validateStoredBundle(params: {
        applicationId: string;
        language: CustomAILanguage;
        applicationPath: string;
        accessToken: string;
    }): Promise<import("../../util/customAIApplication/validateCustomAIBundle").CustomAIBundleValidationResult>;
    getMaskedEnvVariables(applicationId: string): Promise<{
        key: string;
        value: string;
        isMasked: boolean;
    }[]>;
    /** Remove all env secrets when switching from upload mode to shell/CLI. */
    clearEnvSecrets(applicationId: string): Promise<void>;
    mergeEnvVariablesForPersistence(applicationId: string, incoming: Record<string, string>, removedKeys?: string[]): Promise<Record<string, string>>;
    persistEnvSecrets(applicationId: string, envVariables: Record<string, string>): Promise<string>;
    uploadBundleAndUpdateApplication(params: {
        applicationId: string;
        projectId: string;
        orgId: string;
        zipFilePath: string;
        zipFileName: string;
        language: CustomAILanguage;
        applicationPath: string;
        setupMethod: 'upload';
        transformResponse?: string;
        envVariables?: Record<string, string>;
        removedEnvKeys?: string[];
        accessToken: string;
    }): Promise<CustomAIApplicationProviderConfig>;
    updateApplicationSettings(params: {
        applicationId: string;
        language: CustomAILanguage;
        applicationPath: string;
        setupMethod: 'upload';
        transformResponse?: string;
        envVariables?: Record<string, string>;
        removedEnvKeys?: string[];
    }): Promise<CustomAIApplicationProviderConfig>;
    static parseRemovedEnvKeys(raw: unknown): string[];
    static parseRequestFields(body: Record<string, unknown>): {
        language: CustomAILanguage | null;
        applicationPath: string;
        envVariables: Record<string, string>;
        removedEnvKeys: string[];
        transformResponse: string | undefined;
        orgId: string;
        projectId: string;
    };
}
//# sourceMappingURL=customAIApplicationService.d.ts.map