import type { Metadata } from '@devvit/protos';
import { type CancelActionRequest, type ListActionRequest, type ListActionResponse, type ScheduledActionRequest, ScheduledActionResponse, type Scheduler as _Scheduler } from '@devvit/protos/types/devvit/plugin/scheduler/scheduler.js';
import { Empty } from '@devvit/protos/types/google/protobuf/empty.js';
import type { EnvelopeDispatcher } from '../common/envelope/dispatcher/EnvelopeDispatcher.js';
/**
 * The scheduler schedules future actions and invokes them
 */
export declare class Scheduler implements _Scheduler {
    #private;
    constructor(dispatcher: EnvelopeDispatcher);
    List(request: ListActionRequest): Promise<ListActionResponse>;
    /**
     * Schedule an action with a future Timestamp or Crontab string
     */
    Schedule(request: ScheduledActionRequest, metadata: Metadata | undefined): Promise<ScheduledActionResponse>;
    /**
     * Cancel a scheduled action with a given action id.
     * Caller must have the same hostname as the initiator.
     */
    Cancel(request: CancelActionRequest, metadata: Metadata | undefined): Promise<Empty>;
}
//# sourceMappingURL=Scheduler.d.ts.map