export type TurboSyncConfigArray = TurboSyncConfigObject[];
export interface TurboSyncConfigObject {
    title?: string;
    files?: string[] | TurboSyncFileObject[];
    folders?: string[] | TurboSyncFileObject[];
    options?: TurboSyncOptions;
}
export interface TurboSyncFileObject {
    path: string;
    host?: string;
    user?: string;
    ssh_key?: string;
    interval?: number;
}
export interface TurboSyncOptions {
    delete?: boolean;
    exclude?: string[];
    interval?: number;
}
export interface SyncFilesFnParams {
    files: string[] | TurboSyncFileObject[];
    options: TurboSyncOptions | undefined;
}
export interface SyncFilesSyncFnParams {
    files: string[] | TurboSyncFileObject[];
    options: TurboSyncOptions | undefined;
    filePath: string;
}
export interface SyncFoldersFnParams {
    folders: string[] | TurboSyncFileObject[];
    options: TurboSyncOptions | undefined;
}
export interface SyncFoldersSyncFnParams {
    dirs: string[] | TurboSyncFileObject[];
    options: TurboSyncOptions | undefined;
    dirPath: string;
    init?: boolean;
}
export interface HandleEnvVarsFnParams {
    json: string;
}