import { ExtendedResult, IntegrationFile, IntegrationLogic, IntegrationRequest, SkipIntegrationNodes, TreeItem, UpdateIntegrationRequest, Provider } from '../types';
import { JobClient } from './types';
import Crowdin from '@crowdin/crowdin-api-client';
import { SourceFilesModel } from '@crowdin/crowdin-api-client';
export declare function skipFilesByRegex(files: TreeItem[] | undefined, skipIntegrationNodes?: SkipIntegrationNodes): TreeItem[];
export declare function expandFilesTree(nodes: IntegrationFile[], req: IntegrationRequest, integration: IntegrationLogic, job?: JobClient): Promise<IntegrationFile[]>;
export declare function isExtendedResultType<T>(data?: T | ExtendedResult<T>): data is ExtendedResult<T>;
export declare function markUnsyncedFiles({ integrationId, crowdinId, client, files, }: {
    integrationId: string;
    crowdinId: string;
    client: Crowdin;
    files?: TreeItem[];
}): Promise<TreeItem[]>;
export declare function getExcludedTargetLanguages({ client, projectId, languages, }: {
    client: Crowdin;
    projectId: number;
    languages: string[];
}): Promise<string[]>;
export declare function filterLanguages(request: UpdateIntegrationRequest, files: SourceFilesModel.File[]): UpdateIntegrationRequest;
export declare function buildPath(file: TreeItem, files: TreeItem[]): string;
export declare function getParentPaths(filePath: string): Set<string>;
export declare function getParentFiles(allFiles: TreeItem[], fileCollection: TreeItem[]): TreeItem[];
export declare function filterFilesByPatterns(files: TreeItem[], patterns: string[]): TreeItem[];
export declare function filterFilesByPath(files: TreeItem[], includePatterns?: string[], excludePatterns?: string[]): TreeItem[];
export declare function updateSyncedData(clientId: string, crowdinId: string, payload: any[], provider?: Provider): Promise<void>;
