import { StoreService } from '../store';
import { HotMeshGraph, HotMeshManifest } from '../../types/hotmesh';
import { ProviderClient, ProviderTransaction } from '../../types/provider';
import { Symbols } from '../../types/serializer';
import { StreamService } from '../stream';
declare class Deployer {
    manifest: HotMeshManifest | null;
    store: StoreService<ProviderClient, ProviderTransaction> | null;
    stream: StreamService<ProviderClient, ProviderTransaction> | null;
    constructor(manifest: HotMeshManifest);
    deploy(store: StoreService<ProviderClient, ProviderTransaction>, stream: StreamService<ProviderClient, ProviderTransaction>): Promise<void>;
    getVID(): {
        id: string;
        version: string;
    };
    generateSymKeys(): Promise<void>;
    bindSelf(consumes: Record<string, string[]>, produces: string[], activityId: string): void;
    bindSymbols(startIndex: number, maxIndex: number, existingSymbols: Symbols, prefix: string, produces: string[]): Symbols;
    copyJobSchemas(): void;
    bindBackRefs(): void;
    bindCycleTarget(): void;
    convertTopicsToTypes(): void;
    convertActivitiesToHooks(): void;
    bindParents(): Promise<void>;
    collectValues(schema: Record<string, any>, values: Set<string>): void;
    traverse(obj: any, values: Set<string>): void;
    generateSymVals(): Promise<void>;
    resolveJobMapsPaths(): void;
    resolveMappingDependencies(): void;
    groupMappingRules(rules: string[]): Record<string, string[]>;
    resolveMappableValue(mappable: string): [string, string];
    deployActivitySchemas(): Promise<void>;
    deploySubscriptions(): Promise<void>;
    findTrigger(graph: HotMeshGraph): [string, Record<string, any>] | null;
    deployTransitions(): Promise<void>;
    deployHookPatterns(): Promise<void>;
    deployConsumerGroups(): Promise<void>;
    deployConsumerGroup(stream: string, group: string): Promise<void>;
}
export { Deployer };
