import type { Observable } from 'rxjs'; import type { PAYLOAD } from '../internal/tokens'; import type { NonEmptyArray } from '../internal/util/functional/non-empty-array.types'; import type { Action, ActionCreator, ActionHandler, AnyAction, AnyActionSpecifier } from './action-bus.types'; export declare type TypeGuard = (val: A) => val is B; export interface CreateActionOptions { actionKey: ActionKey; subtype?: Subtype; source?: string | symbol; metadata?: Record; callback?: (...params: Params) => Payload; } export declare const createActionCreator: (options: CreateActionOptions) => ActionCreator; export declare const createHandler: >(guard: TypeGuard, ActionType>, handler: ActionHandler, ActionType["subtype"]>>) => (action$: Observable) => import("rxjs").Subscription; export declare const ofType: (...selectActions: NonEmptyArray) => import("rxjs").OperatorFunction, Action, ActionType["subtype"]>>; export declare const notOfType: (...selectActions: NonEmptyArray) => import("rxjs").MonoTypeOperatorFunction>;