import type { Agent, EggLogger } from 'egg';
import type { EggScheduleConfig, EggScheduleJobInfo } from '../types.js';
export declare class BaseStrategy {
    protected agent: Agent;
    protected scheduleConfig: EggScheduleConfig;
    protected key: string;
    protected logger: EggLogger;
    protected closed: boolean;
    count: number;
    constructor(scheduleConfig: EggScheduleConfig, agent: Agent, key: string);
    /** keep compatibility */
    get schedule(): EggScheduleConfig;
    start(): void;
    close(): void;
    onJobStart(_info: EggScheduleJobInfo): void;
    onJobFinish(_info: EggScheduleJobInfo): void;
    /**
     * trigger one worker
     *
     * @param {...any} args - pass to job task
     */
    sendOne(...args: any[]): void;
    /**
     * trigger all worker
     *
     * @param {...any} args - pass to job task
     */
    sendAll(...args: any[]): void;
    getSeqId(): string;
}
