import 'reflect-metadata';
import type { OptsOrigin, MidwareCallback, RegexpCallback, TaskOptions } from '../types';
import type { Command } from '../components';
import type { CronJob } from 'cron';
import type { IdentityType } from 'fluoro';
export declare function cancelFactory(): {
    get(): () => void;
    fn(): void;
    value: boolean;
};
type CommandOriginData = Command<any, OptsOrigin>['meta'];
interface CommandMeta extends CommandOriginData {
    identity?: IdentityType;
}
interface MidwareMeta {
    identity?: IdentityType;
    priority: number;
}
interface RegExpMeta {
    identity?: IdentityType;
    match: RegExp;
}
interface TaskMeta {
    identity?: IdentityType;
    task: CronJob;
    options: TaskOptions;
}
export declare function getCommandMeta(command: Command<any, any>): CommandMeta | undefined;
export declare function setCommandMeta(command: Command<any, any>, meta: CommandMeta): void;
export declare function getMidwareMeta(callback: MidwareCallback): MidwareMeta | undefined;
export declare function setMidwareMeta(callback: MidwareCallback, meta: MidwareMeta): void;
export declare function getRegExpMeta(callback: RegexpCallback): RegExpMeta | undefined;
export declare function setRegExpMeta(callback: RegexpCallback, meta: RegExpMeta): void;
export declare function getTaskMeta(task: CronJob): TaskMeta | undefined;
export declare function setTaskMeta(task: CronJob, meta: TaskMeta): void;
declare const _default: {
    getCommandMeta: typeof getCommandMeta;
    setCommandMeta: typeof setCommandMeta;
    getMidwareMeta: typeof getMidwareMeta;
    setMidwareMeta: typeof setMidwareMeta;
    getRegExpMeta: typeof getRegExpMeta;
    setRegExpMeta: typeof setRegExpMeta;
    getTaskMeta: typeof getTaskMeta;
    setTaskMeta: typeof setTaskMeta;
};
export default _default;
