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, RawResponse$Outbound } from "./rawresponse.js";
import { ShiftBreak, ShiftBreak$Outbound } 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>;
/** @internal */
export type HrisShiftResult4$Outbound = {};
/** @internal */
export declare const HrisShiftResult4$outboundSchema: z.ZodType<HrisShiftResult4$Outbound, z.ZodTypeDef, HrisShiftResult4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HrisShiftResult4$ {
    /** @deprecated use `HrisShiftResult4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HrisShiftResult4, z.ZodTypeDef, unknown>;
    /** @deprecated use `HrisShiftResult4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HrisShiftResult4$Outbound, z.ZodTypeDef, HrisShiftResult4>;
    /** @deprecated use `HrisShiftResult4$Outbound` instead. */
    type Outbound = HrisShiftResult4$Outbound;
}
export declare function hrisShiftResult4ToJSON(hrisShiftResult4: HrisShiftResult4): string;
export declare function hrisShiftResult4FromJSON(jsonString: string): SafeParseResult<HrisShiftResult4, SDKValidationError>;
/** @internal */
export declare const HrisShiftResultSourceValue$inboundSchema: z.ZodType<HrisShiftResultSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type HrisShiftResultSourceValue$Outbound = string | number | boolean | HrisShiftResult4$Outbound | Array<any>;
/** @internal */
export declare const HrisShiftResultSourceValue$outboundSchema: z.ZodType<HrisShiftResultSourceValue$Outbound, z.ZodTypeDef, HrisShiftResultSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HrisShiftResultSourceValue$ {
    /** @deprecated use `HrisShiftResultSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HrisShiftResultSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `HrisShiftResultSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HrisShiftResultSourceValue$Outbound, z.ZodTypeDef, HrisShiftResultSourceValue>;
    /** @deprecated use `HrisShiftResultSourceValue$Outbound` instead. */
    type Outbound = HrisShiftResultSourceValue$Outbound;
}
export declare function hrisShiftResultSourceValueToJSON(hrisShiftResultSourceValue: HrisShiftResultSourceValue): string;
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 HrisShiftResultValue$outboundSchema: z.ZodType<HrisShiftResultValueOpen, z.ZodTypeDef, HrisShiftResultValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HrisShiftResultValue$ {
    /** @deprecated use `HrisShiftResultValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HrisShiftResultValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `HrisShiftResultValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HrisShiftResultValueOpen, z.ZodTypeDef, HrisShiftResultValueOpen>;
}
/** @internal */
export declare const HrisShiftResultApprovalStatus$inboundSchema: z.ZodType<HrisShiftResultApprovalStatus, z.ZodTypeDef, unknown>;
/** @internal */
export type HrisShiftResultApprovalStatus$Outbound = {
    source_value?: string | number | boolean | HrisShiftResult4$Outbound | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const HrisShiftResultApprovalStatus$outboundSchema: z.ZodType<HrisShiftResultApprovalStatus$Outbound, z.ZodTypeDef, HrisShiftResultApprovalStatus>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HrisShiftResultApprovalStatus$ {
    /** @deprecated use `HrisShiftResultApprovalStatus$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HrisShiftResultApprovalStatus, z.ZodTypeDef, unknown>;
    /** @deprecated use `HrisShiftResultApprovalStatus$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HrisShiftResultApprovalStatus$Outbound, z.ZodTypeDef, HrisShiftResultApprovalStatus>;
    /** @deprecated use `HrisShiftResultApprovalStatus$Outbound` instead. */
    type Outbound = HrisShiftResultApprovalStatus$Outbound;
}
export declare function hrisShiftResultApprovalStatusToJSON(hrisShiftResultApprovalStatus: HrisShiftResultApprovalStatus): string;
export declare function hrisShiftResultApprovalStatusFromJSON(jsonString: string): SafeParseResult<HrisShiftResultApprovalStatus, SDKValidationError>;
/** @internal */
export declare const HrisShiftResultSchemas4$inboundSchema: z.ZodType<HrisShiftResultSchemas4, z.ZodTypeDef, unknown>;
/** @internal */
export type HrisShiftResultSchemas4$Outbound = {};
/** @internal */
export declare const HrisShiftResultSchemas4$outboundSchema: z.ZodType<HrisShiftResultSchemas4$Outbound, z.ZodTypeDef, HrisShiftResultSchemas4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HrisShiftResultSchemas4$ {
    /** @deprecated use `HrisShiftResultSchemas4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HrisShiftResultSchemas4, z.ZodTypeDef, unknown>;
    /** @deprecated use `HrisShiftResultSchemas4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HrisShiftResultSchemas4$Outbound, z.ZodTypeDef, HrisShiftResultSchemas4>;
    /** @deprecated use `HrisShiftResultSchemas4$Outbound` instead. */
    type Outbound = HrisShiftResultSchemas4$Outbound;
}
export declare function hrisShiftResultSchemas4ToJSON(hrisShiftResultSchemas4: HrisShiftResultSchemas4): string;
export declare function hrisShiftResultSchemas4FromJSON(jsonString: string): SafeParseResult<HrisShiftResultSchemas4, SDKValidationError>;
/** @internal */
export declare const HrisShiftResultSchemasSourceValue$inboundSchema: z.ZodType<HrisShiftResultSchemasSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type HrisShiftResultSchemasSourceValue$Outbound = string | number | boolean | HrisShiftResultSchemas4$Outbound | Array<any>;
/** @internal */
export declare const HrisShiftResultSchemasSourceValue$outboundSchema: z.ZodType<HrisShiftResultSchemasSourceValue$Outbound, z.ZodTypeDef, HrisShiftResultSchemasSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HrisShiftResultSchemasSourceValue$ {
    /** @deprecated use `HrisShiftResultSchemasSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HrisShiftResultSchemasSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `HrisShiftResultSchemasSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HrisShiftResultSchemasSourceValue$Outbound, z.ZodTypeDef, HrisShiftResultSchemasSourceValue>;
    /** @deprecated use `HrisShiftResultSchemasSourceValue$Outbound` instead. */
    type Outbound = HrisShiftResultSchemasSourceValue$Outbound;
}
export declare function hrisShiftResultSchemasSourceValueToJSON(hrisShiftResultSchemasSourceValue: HrisShiftResultSchemasSourceValue): string;
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 HrisShiftResultSchemasValue$outboundSchema: z.ZodType<HrisShiftResultSchemasValueOpen, z.ZodTypeDef, HrisShiftResultSchemasValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HrisShiftResultSchemasValue$ {
    /** @deprecated use `HrisShiftResultSchemasValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HrisShiftResultSchemasValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `HrisShiftResultSchemasValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HrisShiftResultSchemasValueOpen, z.ZodTypeDef, HrisShiftResultSchemasValueOpen>;
}
/** @internal */
export declare const HrisShiftResultStatus$inboundSchema: z.ZodType<HrisShiftResultStatus, z.ZodTypeDef, unknown>;
/** @internal */
export type HrisShiftResultStatus$Outbound = {
    source_value?: string | number | boolean | HrisShiftResultSchemas4$Outbound | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const HrisShiftResultStatus$outboundSchema: z.ZodType<HrisShiftResultStatus$Outbound, z.ZodTypeDef, HrisShiftResultStatus>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HrisShiftResultStatus$ {
    /** @deprecated use `HrisShiftResultStatus$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HrisShiftResultStatus, z.ZodTypeDef, unknown>;
    /** @deprecated use `HrisShiftResultStatus$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HrisShiftResultStatus$Outbound, z.ZodTypeDef, HrisShiftResultStatus>;
    /** @deprecated use `HrisShiftResultStatus$Outbound` instead. */
    type Outbound = HrisShiftResultStatus$Outbound;
}
export declare function hrisShiftResultStatusToJSON(hrisShiftResultStatus: HrisShiftResultStatus): string;
export declare function hrisShiftResultStatusFromJSON(jsonString: string): SafeParseResult<HrisShiftResultStatus, SDKValidationError>;
/** @internal */
export declare const HrisShiftResultData$inboundSchema: z.ZodType<HrisShiftResultData, z.ZodTypeDef, unknown>;
/** @internal */
export type HrisShiftResultData$Outbound = {
    approval_status?: HrisShiftResultApprovalStatus$Outbound | null | undefined;
    break_duration?: string | null | undefined;
    breaks?: Array<ShiftBreak$Outbound> | null | undefined;
    company_id?: string | null | undefined;
    created_at?: string | null | undefined;
    employee_id?: string | null | undefined;
    end_time?: string | null | undefined;
    id?: string | null | undefined;
    location_id?: string | null | undefined;
    remote_id?: string | null | undefined;
    start_time?: string | null | undefined;
    status?: HrisShiftResultStatus$Outbound | null | undefined;
    updated_at?: string | null | undefined;
};
/** @internal */
export declare const HrisShiftResultData$outboundSchema: z.ZodType<HrisShiftResultData$Outbound, z.ZodTypeDef, HrisShiftResultData>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HrisShiftResultData$ {
    /** @deprecated use `HrisShiftResultData$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HrisShiftResultData, z.ZodTypeDef, unknown>;
    /** @deprecated use `HrisShiftResultData$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HrisShiftResultData$Outbound, z.ZodTypeDef, HrisShiftResultData>;
    /** @deprecated use `HrisShiftResultData$Outbound` instead. */
    type Outbound = HrisShiftResultData$Outbound;
}
export declare function hrisShiftResultDataToJSON(hrisShiftResultData: HrisShiftResultData): string;
export declare function hrisShiftResultDataFromJSON(jsonString: string): SafeParseResult<HrisShiftResultData, SDKValidationError>;
/** @internal */
export declare const HrisShiftResult$inboundSchema: z.ZodType<HrisShiftResult, z.ZodTypeDef, unknown>;
/** @internal */
export type HrisShiftResult$Outbound = {
    data?: HrisShiftResultData$Outbound | null | undefined;
    raw?: Array<RawResponse$Outbound> | null | undefined;
};
/** @internal */
export declare const HrisShiftResult$outboundSchema: z.ZodType<HrisShiftResult$Outbound, z.ZodTypeDef, HrisShiftResult>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HrisShiftResult$ {
    /** @deprecated use `HrisShiftResult$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HrisShiftResult, z.ZodTypeDef, unknown>;
    /** @deprecated use `HrisShiftResult$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HrisShiftResult$Outbound, z.ZodTypeDef, HrisShiftResult>;
    /** @deprecated use `HrisShiftResult$Outbound` instead. */
    type Outbound = HrisShiftResult$Outbound;
}
export declare function hrisShiftResultToJSON(hrisShiftResult: HrisShiftResult): string;
export declare function hrisShiftResultFromJSON(jsonString: string): SafeParseResult<HrisShiftResult, SDKValidationError>;
//# sourceMappingURL=hrisshiftresult.d.ts.map