import { EsriWorkflowModelsRestActiveVersion, EsriWorkflowModelsRestCurrentStep, EsriWorkflowModelsRestHold, EsriWorkflowModelsRestJobExtendedPropertyTable, EsriWorkflowModelsRestJobRelatedPropertyTable } from './';
export interface EsriWorkflowModelsRestJob {
    jobId?: string | null;
    jobName?: string | null;
    ownedBy?: string | null;
    createdBy?: string | null;
    notes?: string | null;
    description?: string | null;
    createdDate?: Date | null;
    startDate?: Date | null;
    startedDate?: Date | null;
    dueDate?: Date | null;
    endDate?: Date | null;
    parentJob?: string | null;
    percentComplete: number;
    priority: string;
    diagramId: string;
    diagramVersion: number;
    diagramName: string;
    currentSteps: Array<EsriWorkflowModelsRestCurrentStep>;
    jobStatus: string;
    jobTemplateId: string;
    jobTemplateName: string;
    extendedProperties?: Array<EsriWorkflowModelsRestJobExtendedPropertyTable> | null;
    relatedProperties?: Array<EsriWorkflowModelsRestJobRelatedPropertyTable> | null;
    holds?: Array<EsriWorkflowModelsRestHold> | null;
    activeVersions: Array<EsriWorkflowModelsRestActiveVersion>;
    hasLocation?: number | null;
    parentJobRefId?: string | null;
    closed: boolean;
    archived?: boolean | null;
}
export declare function EsriWorkflowModelsRestJobFromJSON(json: any): EsriWorkflowModelsRestJob;
export declare function EsriWorkflowModelsRestJobFromJSONTyped(json: any, ignoreDiscriminator: boolean): EsriWorkflowModelsRestJob;
export declare function EsriWorkflowModelsRestJobToJSON(value?: EsriWorkflowModelsRestJob | null): any;
