import { SaveResult } from '@jsforce/jsforce-node';
import SFPOrg from '../org/SFPOrg';
import { Logger } from '@flxbl-io/sfp-logger';
export declare function getFlowDefinition(opts: FlowOptions, org: SFPOrg, logger?: Logger): Promise<FlowDefinition>;
export declare function getFlowsByDefinition(flowdefinition: FlowDefinition, org: SFPOrg, logger: Logger): Promise<Flow[]>;
export declare function deleteFlows(flows: Flow[], org: SFPOrg, logger: Logger): Promise<string[]>;
export declare function deactivate(flow: FlowDefinition, org: SFPOrg): Promise<SaveResult>;
export declare function activate(flow: FlowDefinition, org: SFPOrg): Promise<SaveResult>;
export interface Flow {
    Id: string;
    VersionNumber: number;
    FullName: string;
    MasterLabel: string;
    RecordCount: number;
}
export interface FlowDefinition {
    Id: string;
    ActiveVersion: Flow;
    ActiveVersionId: string;
    DeveloperName: string;
    LatestVersion: Flow;
    LatestVersionId: string;
    NamespacePrefix?: string;
}
export interface FlowOptions {
    developername: string;
    namespaceprefix: string;
}
