import { StoreService } from '../store';
import { MappingStatements } from '../../types/map';
import { HotMeshManifest } from '../../types/hotmesh';
import { ProviderClient, ProviderTransaction } from '../../types/provider';
declare class Validator {
    manifest: HotMeshManifest | null;
    activityIds: string[];
    mappingStatements: MappingStatements;
    store: StoreService<ProviderClient, ProviderTransaction> | null;
    static SYS_VARS: string[];
    static CONTEXT_VARS: string[];
    constructor(manifest: HotMeshManifest);
    /**
     * validate the manifest file
     */
    validate(store: StoreService<ProviderClient, ProviderTransaction>): Promise<void>;
    validateActivityIds(): void;
    isMappingStatement(value: string): boolean;
    extractMappingStatements(obj: any, result: MappingStatements, currentActivityId: string): void;
    getMappingStatements(): void;
    validateReferencedActivityIds(): void;
    isFunction(value: string): boolean;
    isContextVariable(value: string): boolean;
    validateMappingStatements(): void;
    validateTransitions(): void;
    validateTransitionConditions(): void;
    validateStats(): void;
    validateSchemas(): void;
    validateUniqueHandledTopics(): void;
    validateGraphPublishSubscribe(): void;
    validateHooks(): void;
    validateConditionalStatements(): void;
}
export { Validator };
