import { DispatchEventFn } from "../events/schedule/schedule";
import { WaitUntil } from "../fetch";
import { DurableEventData } from "../data";
import { SyncTagRegistrationState } from "./manager";
export interface SyncDurableEventData extends DurableEventData {
    tag: string;
    lastChance?: boolean;
}
export interface SyncEvent extends SyncDurableEventData, WaitUntil {
    signal: AbortSignal;
}
export declare function isSyncDurableEventData(event: unknown): event is SyncDurableEventData;
export interface DispatchSyncEventOptions {
    event: SyncDurableEventData;
    setRegistrationState(tag: string, state: SyncTagRegistrationState): Promise<void | unknown>;
    getRegistrationState(tag: string): Promise<SyncTagRegistrationState>;
    dispatch: DispatchEventFn;
    deregister?: boolean;
}
export declare function dispatchSyncEvent(options: DispatchSyncEventOptions): Promise<void>;
export declare const removeSyncDispatcherFunction: () => void;
