import { EventMetadata } from './event.interface'; export declare type EventCreator = { type: T; metadata?: EventMetadata; } & ((...args: any[]) => { type: T; payload: Payload; metadata?: EventMetadata; }); export declare function createEvent(type: T, creator?: () => Payload): { type: T; } & (() => { type: T; payload: Payload; metadata?: EventMetadata; }); export declare function createEvent(type: T, creator: (arg1?: Arg1) => Payload): { type: T; } & ((arg1?: Arg1) => { type: T; payload: Payload; metadata?: EventMetadata; }); export declare function createEvent(type: T, creator: (arg1: Arg1) => Payload): { type: T; } & ((arg1: Arg1) => { type: T; payload: Payload; metadata?: EventMetadata; }); export declare function createEvent(type: T, creator: (arg1?: Arg1, arg2?: Arg2) => Payload): { type: T; } & ((arg1?: Arg1, arg2?: Arg2) => { type: T; payload: Payload; metadata?: EventMetadata; }); export declare function createEvent(type: T, creator: (arg1: Arg1, arg2?: Arg2) => Payload): { type: T; } & ((arg1: Arg1, arg2?: Arg2) => { type: T; payload: Payload; metadata?: EventMetadata; }); export declare function createEvent(type: T, creator: (arg1: Arg1, arg2: Arg2) => Payload): { type: T; } & ((arg1: Arg1, arg2: Arg2) => { type: T; payload: Payload; metadata?: EventMetadata; }); export declare function createEvent(type: T, creator: (arg1?: Arg1, arg2?: Arg2, arg3?: Arg3) => Payload): { type: T; } & ((arg1?: Arg1, arg2?: Arg2, arg3?: Arg3) => { type: T; payload: Payload; metadata?: EventMetadata; }); export declare function createEvent(type: T, creator: (arg1: Arg1, arg2?: Arg2, arg3?: Arg3) => Payload): { type: T; } & ((arg1: Arg1, arg2?: Arg2, arg3?: Arg3) => { type: T; payload: Payload; metadata?: EventMetadata; }); export declare function createEvent(type: T, creator: (arg1: Arg1, arg2: Arg2, arg3?: Arg3) => Payload): { type: T; } & ((arg1: Arg1, arg2: Arg2, arg3?: Arg3) => { type: T; payload: Payload; metadata?: EventMetadata; }); export declare function createEvent(type: T, creator: (arg1: Arg1, arg2: Arg2, arg3: Arg3) => Payload): { type: T; } & ((arg1: Arg1, arg2: Arg2, arg3: Arg3) => { type: T; payload: Payload; metadata?: EventMetadata; }); export declare function createEvent(type: T, creator: (arg1?: Arg1, arg2?: Arg2, arg3?: Arg3, arg4?: Arg4) => Payload): { type: T; } & ((arg1?: Arg1, arg2?: Arg2, arg3?: Arg3, arg4?: Arg4) => { type: T; payload: Payload; metadata?: EventMetadata; }); export declare function createEvent(type: T, creator: (arg1: Arg1, arg2?: Arg2, arg3?: Arg3, arg4?: Arg4) => Payload): { type: T; } & ((arg1: Arg1, arg2?: Arg2, arg3?: Arg3, arg4?: Arg4) => { type: T; payload: Payload; metadata?: EventMetadata; }); export declare function createEvent(type: T, creator: (arg1: Arg1, arg2: Arg2, arg3?: Arg3, arg4?: Arg4) => Payload): { type: T; } & ((arg1: Arg1, arg2: Arg2, arg3?: Arg3, arg4?: Arg4) => { type: T; payload: Payload; metadata?: EventMetadata; }); export declare function createEvent(type: T, creator: (arg1: Arg1, arg2: Arg2, arg3: Arg3, arg4?: Arg4) => Payload): { type: T; } & ((arg1: Arg1, arg2: Arg2, arg3: Arg3, arg4?: Arg4) => { type: T; payload: Payload; metadata?: EventMetadata; }); export declare function createEvent(type: T, creator: (arg1: Arg1, arg2: Arg2, arg3: Arg3, arg4: Arg4) => Payload): { type: T; } & ((arg1: Arg1, arg2: Arg2, arg3: Arg3, arg4: Arg4) => { type: T; payload: Payload; metadata?: EventMetadata; }); //# sourceMappingURL=event.factory.d.ts.map