import { Dispatch } from "redux";
import { ActivityStatuses, ActivityTypes } from "../constants";
import { IPendingActivity, ICreateLog, ISetStatus, IStartActivity, ICancelActivity, IEndActivity, IUpdateActivity, IActivityErrored, IGatsbyCLIState, ISetLogs } from "./types";
import { IStructuredError, ErrorCategory } from "../../structured-errors/types";
export declare const setStatus: (status: ActivityStatuses | "", force?: boolean) => (dispatch: Dispatch<ISetStatus>) => void;
export declare const createLog: ({ level, text, statusText, duration, group, code, type, category, filePath, location, docsUrl, context, activity_current, activity_total, activity_type, activity_uuid, stack, pluginName, }: {
    level: string;
    text?: string;
    statusText?: string;
    duration?: number;
    group?: string;
    code?: string;
    type?: string;
    category?: keyof typeof ErrorCategory;
    filePath?: string;
    location?: IStructuredError["location"];
    docsUrl?: string;
    context?: string;
    activity_current?: number;
    activity_total?: number;
    activity_type?: string;
    activity_uuid?: string;
    stack?: IStructuredError["stack"];
    pluginName?: string;
}) => ICreateLog;
type ActionsToEmit = Array<IPendingActivity | ReturnType<typeof setStatus>>;
export declare const createPendingActivity: ({ id, status, }: {
    id: string;
    status?: ActivityStatuses;
}) => ActionsToEmit;
type QueuedStartActivityActions = Array<IStartActivity | ReturnType<typeof setStatus>>;
export declare const startActivity: ({ id, text, type, status, current, total, }: {
    id: string;
    text: string;
    type: ActivityTypes;
    status?: ActivityStatuses;
    current?: number;
    total?: number;
}) => QueuedStartActivityActions;
type QueuedEndActivity = Array<ICancelActivity | IEndActivity | ICreateLog | ReturnType<typeof setStatus>>;
export declare const endActivity: ({ id, status, }: {
    id: string;
    status: ActivityStatuses;
}) => QueuedEndActivity | null;
export declare const updateActivity: ({ id, ...rest }: {
    id: string;
    statusText?: string;
    total?: number;
    current?: number;
}) => IUpdateActivity | null;
export declare const setActivityErrored: ({ id, }: {
    id: string;
}) => IActivityErrored | null;
export declare const setActivityStatusText: ({ id, statusText, }: {
    id: string;
    statusText: string;
}) => IUpdateActivity | null;
export declare const setActivityTotal: ({ id, total, }: {
    id: string;
    total: number;
}) => IUpdateActivity | null;
export declare const activityTick: ({ id, increment, }: {
    id: string;
    increment: number;
}) => IUpdateActivity | null;
export declare const setLogs: (logs: IGatsbyCLIState) => ISetLogs;
export {};
//# sourceMappingURL=internal-actions.d.ts.map