import { AuthenticatedAction } from "../classes/actions/authenticatedAction";
import { APIData } from "../modules/apiData";
import { ActionPermission } from "../models/Permission";
import { ParamsFrom } from "actionhero";
export declare class RunsList extends AuthenticatedAction {
    name: string;
    description: string;
    outputExample: {};
    permission: ActionPermission;
    inputs: {
        readonly creatorId: {
            readonly required: false;
        };
        readonly topic: {
            readonly required: false;
        };
        readonly state: {
            readonly required: false;
        };
        readonly hasError: {
            readonly required: false;
        };
        readonly limit: {
            readonly required: true;
            readonly default: 100;
            readonly formatter: typeof APIData.ensureNumber;
        };
        readonly offset: {
            readonly required: true;
            readonly default: 0;
            readonly formatter: typeof APIData.ensureNumber;
        };
        readonly order: {
            readonly required: false;
            readonly formatter: typeof APIData.ensureArray;
            readonly default: readonly [readonly ["updatedAt", "desc"]];
        };
    };
    runWithinTransaction({ params }: {
        params: ParamsFrom<RunsList>;
    }): Promise<{
        runs: {
            id: string;
            creatorId: string;
            creatorName: string;
            creatorType: "group" | "task" | "schedule" | "property" | "grouparooModel" | "teamMember";
            state: "stopped" | "running" | "complete" | "draft";
            percentComplete: number;
            importsCreated: number;
            recordsCreated: number;
            recordsImported: number;
            error: string;
            highWaterMark: import("../models/Run").HighWaterMark;
            sourceOffset: string | number;
            memberLimit: number;
            memberOffset: number;
            method: string;
            destinationId: string;
            createdAt: number;
            updatedAt: number;
            completedAt: number;
        }[];
        total: number;
    }>;
}
export declare class RunEdit extends AuthenticatedAction {
    name: string;
    description: string;
    outputExample: {};
    permission: ActionPermission;
    inputs: {
        readonly id: {
            readonly required: true;
        };
        readonly state: {
            readonly required: true;
        };
    };
    runWithinTransaction({ params }: {
        params: ParamsFrom<RunEdit>;
    }): Promise<{
        run: {
            id: string;
            creatorId: string;
            creatorName: string;
            creatorType: "group" | "task" | "schedule" | "property" | "grouparooModel" | "teamMember";
            state: "stopped" | "running" | "complete" | "draft";
            percentComplete: number;
            importsCreated: number;
            recordsCreated: number;
            recordsImported: number;
            error: string;
            highWaterMark: import("../models/Run").HighWaterMark;
            sourceOffset: string | number;
            memberLimit: number;
            memberOffset: number;
            method: string;
            destinationId: string;
            createdAt: number;
            updatedAt: number;
            completedAt: number;
        };
    }>;
}
export declare class RunView extends AuthenticatedAction {
    name: string;
    description: string;
    outputExample: {};
    permission: ActionPermission;
    inputs: {
        readonly id: {
            readonly required: true;
        };
    };
    runWithinTransaction({ params }: {
        params: ParamsFrom<RunView>;
    }): Promise<{
        run: {
            id: string;
            creatorId: string;
            creatorName: string;
            creatorType: "group" | "task" | "schedule" | "property" | "grouparooModel" | "teamMember";
            state: "stopped" | "running" | "complete" | "draft";
            percentComplete: number;
            importsCreated: number;
            recordsCreated: number;
            recordsImported: number;
            error: string;
            highWaterMark: import("../models/Run").HighWaterMark;
            sourceOffset: string | number;
            memberLimit: number;
            memberOffset: number;
            method: string;
            destinationId: string;
            createdAt: number;
            updatedAt: number;
            completedAt: number;
        };
        quantizedTimeline: {
            lastBoundary: number;
            nextBoundary: number;
            steps: {
                associate: number;
                imported: number;
            };
        }[];
    }>;
}
