import { Dictionary } from 'lodash'; import { GraphOperation, GraphOperationType, GraphQLArgument, GraphQLService } from '../../services/graphql/graphqlService'; import { CollapseOptions } from '../../services/graphql/eventCollapse'; export interface ContextTransactionResult { success: boolean; contextId: string; errors?: string[]; } export interface ContextResultMap { [contextId: string]: { success: boolean; errors?: string[]; }; } export interface PlaybackOptions { collapseEvents: boolean; collapseOptions?: CollapseOptions; } export interface GraphQLChangeEvent { schema: string; ownerContextId: string; mutationType: GraphOperationType; mutationArg: GraphQLArgument | string; mutationAlias?: string; } export interface PlaybackResults { contextResults: ContextResultMap; idMap: Dictionary; } interface ContextTransactionMap { [contextId: string]: GraphOperation[]; } interface ContextTransactionFlatMap { [contextId: string]: GraphOperation[][]; } export declare function playbackChangeEvents(changeEvents: GraphQLChangeEvent[], graphQlService: GraphQLService, options?: PlaybackOptions): Promise<{ contextResults: ContextResultMap; idMap: Dictionary; }>; export declare function splitEventsByContext(changeEvents: GraphQLChangeEvent[]): ContextTransactionMap; export declare function createAliasSafeTransactions(contextTransactions: ContextTransactionMap): ContextTransactionFlatMap; export declare function remapAliasReferences(recordIdMap: { [aliasId: string]: string; }, transactions: GraphOperation[][]): (import("../../services/graphql/graphqlService").GraphDeleteOperation | { data: { [x: string]: string | number | boolean | string[] | null | undefined; } | { [x: string]: string | number | boolean | string[] | null | undefined; UID: string | number | boolean | string[] | null | undefined; }; alias?: string; schema: string; operation: GraphOperationType; })[][]; export {}; //# sourceMappingURL=eventPlayback.d.ts.map