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 { ApplicationChangesDataModel } from "./applicationchangesdatamodel.js";
/**
 * The actor who made the change
 */
export type Actor = {
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
};
export type ApplicationChanges4 = {};
/**
 * The source value of the change type
 */
export type ApplicationChangesSourceValue = string | number | boolean | ApplicationChanges4 | Array<any>;
/**
 * The type of change that occurred to the application
 */
export declare enum ApplicationChangesValue {
    ApplicationStatus = "application_status",
    InterviewStage = "interview_stage",
    RejectedReasons = "rejected_reasons",
    UnmappedValue = "unmapped_value"
}
/**
 * The type of change that occurred to the application
 */
export type ApplicationChangesValueOpen = OpenEnum<typeof ApplicationChangesValue>;
/**
 * The type of change that occurred to the application
 */
export type ChangeType = {
    /**
     * The source value of the change type
     */
    sourceValue?: string | number | boolean | ApplicationChanges4 | Array<any> | null | undefined;
    /**
     * The type of change that occurred to the application
     */
    value?: ApplicationChangesValueOpen | null | undefined;
};
export type ApplicationChanges = {
    /**
     * The actor who made the change
     */
    actor?: Actor | null | undefined;
    /**
     * The type of change that occurred to the application
     */
    changeType?: ChangeType | null | undefined;
    /**
     * Timestamp when the change was created
     */
    createdAt: Date;
    /**
     * Timestamp when the change became effective
     */
    effectiveAt?: Date | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * The new values for changed application properties. Only includes fields that commonly change over the application lifecycle.
     */
    newValues: ApplicationChangesDataModel;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
};
/** @internal */
export declare const Actor$inboundSchema: z.ZodType<Actor, z.ZodTypeDef, unknown>;
export declare function actorFromJSON(jsonString: string): SafeParseResult<Actor, SDKValidationError>;
/** @internal */
export declare const ApplicationChanges4$inboundSchema: z.ZodType<ApplicationChanges4, z.ZodTypeDef, unknown>;
export declare function applicationChanges4FromJSON(jsonString: string): SafeParseResult<ApplicationChanges4, SDKValidationError>;
/** @internal */
export declare const ApplicationChangesSourceValue$inboundSchema: z.ZodType<ApplicationChangesSourceValue, z.ZodTypeDef, unknown>;
export declare function applicationChangesSourceValueFromJSON(jsonString: string): SafeParseResult<ApplicationChangesSourceValue, SDKValidationError>;
/** @internal */
export declare const ApplicationChangesValue$inboundSchema: z.ZodType<ApplicationChangesValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const ChangeType$inboundSchema: z.ZodType<ChangeType, z.ZodTypeDef, unknown>;
export declare function changeTypeFromJSON(jsonString: string): SafeParseResult<ChangeType, SDKValidationError>;
/** @internal */
export declare const ApplicationChanges$inboundSchema: z.ZodType<ApplicationChanges, z.ZodTypeDef, unknown>;
export declare function applicationChangesFromJSON(jsonString: string): SafeParseResult<ApplicationChanges, SDKValidationError>;
//# sourceMappingURL=applicationchanges.d.ts.map