import { ICreateKubectlDeploymentAction } from "../../deployment-actions/kubectl-action/kubectl-deployment-action-factory"; import { IK8sDirDeploymentAction, TFolderHerdDeclaration } from "../../deployment-types"; import { TFileSystemPath } from "../../helpers/basic-types"; import { ILog } from "@shepherdorg/logger"; export interface ICreateKubectlActionsForFolderStructure { scanDir: (dir: TScanDirStruct | TFileSystemPath, herdSpec: TFolderHerdDeclaration) => Promise>; } export interface TFolderActionFactoryDependencies { environment: string; logger: ILog; kubectlDeploymentActionFactory: ICreateKubectlDeploymentAction; } declare type TFilePlanStruct = {}; declare type TFileMap = { [index: string]: TFilePlanStruct; }; declare type TSubDirMap = { [index: string]: TScanDirStruct; }; declare type TScanDirStruct = { forDelete: boolean; path: TFileSystemPath; files: TFileMap; subDirs: TSubDirMap; isDeploymentDir: boolean; deploymentRoot: boolean; }; export declare function createFolderActionFactory(injected: TFolderActionFactoryDependencies): ICreateKubectlActionsForFolderStructure; export {};