import * as z from "zod/v3";
import { OpenEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { RawResponse } from "./rawresponse.js";
import { ShiftBreak } from "./shiftbreak.js";
export type HrisShiftResult4 = {};
export type HrisShiftResultSourceValue = string | number | boolean | HrisShiftResult4 | Array<any>;
/**
 * The approval status of the shift
 */
export declare enum HrisShiftResultValue {
    Pending = "pending",
    Approved = "approved",
    Rejected = "rejected",
    UnmappedValue = "unmapped_value"
}
/**
 * The approval status of the shift
 */
export type HrisShiftResultValueOpen = OpenEnum<typeof HrisShiftResultValue>;
/**
 * The approval status of the shift
 */
export type HrisShiftResultApprovalStatus = {
    sourceValue?: string | number | boolean | HrisShiftResult4 | Array<any> | null | undefined;
    /**
     * The approval status of the shift
     */
    value?: HrisShiftResultValueOpen | null | undefined;
};
export type HrisShiftResultSchemas4 = {};
export type HrisShiftResultSchemasSourceValue = string | number | boolean | HrisShiftResultSchemas4 | Array<any>;
/**
 * The status of the shift
 */
export declare enum HrisShiftResultSchemasValue {
    Draft = "draft",
    Published = "published",
    Confirmed = "confirmed",
    Cancelled = "cancelled",
    UnmappedValue = "unmapped_value"
}
/**
 * The status of the shift
 */
export type HrisShiftResultSchemasValueOpen = OpenEnum<typeof HrisShiftResultSchemasValue>;
/**
 * The status of the shift
 */
export type HrisShiftResultStatus = {
    sourceValue?: string | number | boolean | HrisShiftResultSchemas4 | Array<any> | null | undefined;
    /**
     * The status of the shift
     */
    value?: HrisShiftResultSchemasValueOpen | null | undefined;
};
export type HrisShiftResultData = {
    /**
     * The approval status of the shift
     */
    approvalStatus?: HrisShiftResultApprovalStatus | null | undefined;
    /**
     * The total break duration for this shift in ISO 8601 duration format
     */
    breakDuration?: string | null | undefined;
    /**
     * The breaks taken during this shift
     */
    breaks?: Array<ShiftBreak> | null | undefined;
    /**
     * The company ID associated with this shift
     */
    companyId?: string | null | undefined;
    /**
     * The date and time the shift was created
     */
    createdAt?: Date | null | undefined;
    /**
     * The employee ID associated with this shift
     */
    employeeId?: string | null | undefined;
    /**
     * The end time of the shift (ISO8601 date-time without timezone)
     */
    endTime?: string | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * The location ID where this shift takes place
     */
    locationId?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * The start time of the shift (ISO8601 date-time without timezone)
     */
    startTime?: string | null | undefined;
    /**
     * The status of the shift
     */
    status?: HrisShiftResultStatus | null | undefined;
    /**
     * The date and time the shift was last updated
     */
    updatedAt?: Date | null | undefined;
};
export type HrisShiftResult = {
    data?: HrisShiftResultData | null | undefined;
    raw?: Array<RawResponse> | null | undefined;
};
/** @internal */
export declare const HrisShiftResult4$inboundSchema: z.ZodType<HrisShiftResult4, z.ZodTypeDef, unknown>;
export declare function hrisShiftResult4FromJSON(jsonString: string): SafeParseResult<HrisShiftResult4, SDKValidationError>;
/** @internal */
export declare const HrisShiftResultSourceValue$inboundSchema: z.ZodType<HrisShiftResultSourceValue, z.ZodTypeDef, unknown>;
export declare function hrisShiftResultSourceValueFromJSON(jsonString: string): SafeParseResult<HrisShiftResultSourceValue, SDKValidationError>;
/** @internal */
export declare const HrisShiftResultValue$inboundSchema: z.ZodType<HrisShiftResultValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const HrisShiftResultApprovalStatus$inboundSchema: z.ZodType<HrisShiftResultApprovalStatus, z.ZodTypeDef, unknown>;
export declare function hrisShiftResultApprovalStatusFromJSON(jsonString: string): SafeParseResult<HrisShiftResultApprovalStatus, SDKValidationError>;
/** @internal */
export declare const HrisShiftResultSchemas4$inboundSchema: z.ZodType<HrisShiftResultSchemas4, z.ZodTypeDef, unknown>;
export declare function hrisShiftResultSchemas4FromJSON(jsonString: string): SafeParseResult<HrisShiftResultSchemas4, SDKValidationError>;
/** @internal */
export declare const HrisShiftResultSchemasSourceValue$inboundSchema: z.ZodType<HrisShiftResultSchemasSourceValue, z.ZodTypeDef, unknown>;
export declare function hrisShiftResultSchemasSourceValueFromJSON(jsonString: string): SafeParseResult<HrisShiftResultSchemasSourceValue, SDKValidationError>;
/** @internal */
export declare const HrisShiftResultSchemasValue$inboundSchema: z.ZodType<HrisShiftResultSchemasValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const HrisShiftResultStatus$inboundSchema: z.ZodType<HrisShiftResultStatus, z.ZodTypeDef, unknown>;
export declare function hrisShiftResultStatusFromJSON(jsonString: string): SafeParseResult<HrisShiftResultStatus, SDKValidationError>;
/** @internal */
export declare const HrisShiftResultData$inboundSchema: z.ZodType<HrisShiftResultData, z.ZodTypeDef, unknown>;
export declare function hrisShiftResultDataFromJSON(jsonString: string): SafeParseResult<HrisShiftResultData, SDKValidationError>;
/** @internal */
export declare const HrisShiftResult$inboundSchema: z.ZodType<HrisShiftResult, z.ZodTypeDef, unknown>;
export declare function hrisShiftResultFromJSON(jsonString: string): SafeParseResult<HrisShiftResult, SDKValidationError>;
//# sourceMappingURL=hrisshiftresult.d.ts.map