import * as z from "zod";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { Status, Status$Outbound } from "../components/status.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
/**
 * Whether the attribute is on an object or a list. Please note that company and person objects do not support status attributes at this time.
 */
export declare const PatchV2TargetIdentifierAttributesAttributeStatusesStatusTarget: {
    readonly Lists: "lists";
    readonly Objects: "objects";
};
/**
 * Whether the attribute is on an object or a list. Please note that company and person objects do not support status attributes at this time.
 */
export type PatchV2TargetIdentifierAttributesAttributeStatusesStatusTarget = ClosedEnum<typeof PatchV2TargetIdentifierAttributesAttributeStatusesStatusTarget>;
export type PatchV2TargetIdentifierAttributesAttributeStatusesStatusData = {
    /**
     * The Title of the status
     */
    title?: string | undefined;
    /**
     * Whether arriving at this status triggers a celebration effect
     */
    celebrationEnabled?: boolean | undefined;
    /**
     * Target time for a record to spend in given status expressed as a ISO-8601 duration string
     */
    targetTimeInStatus?: string | null | undefined;
    /**
     * Whether or not to archive the status. See our [archiving guide](/docs/archiving-vs-deleting) for more information on archiving.
     */
    isArchived?: boolean | undefined;
};
export type PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequestBody = {
    data: PatchV2TargetIdentifierAttributesAttributeStatusesStatusData;
};
export type PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequest = {
    /**
     * Whether the attribute is on an object or a list. Please note that company and person objects do not support status attributes at this time.
     */
    target: PatchV2TargetIdentifierAttributesAttributeStatusesStatusTarget;
    identifier: string;
    attribute: string;
    status: string;
    requestBody: PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequestBody;
};
/**
 * Success
 */
export type PatchV2TargetIdentifierAttributesAttributeStatusesStatusResponse = {
    data: Status;
};
/** @internal */
export declare const PatchV2TargetIdentifierAttributesAttributeStatusesStatusTarget$inboundSchema: z.ZodNativeEnum<typeof PatchV2TargetIdentifierAttributesAttributeStatusesStatusTarget>;
/** @internal */
export declare const PatchV2TargetIdentifierAttributesAttributeStatusesStatusTarget$outboundSchema: z.ZodNativeEnum<typeof PatchV2TargetIdentifierAttributesAttributeStatusesStatusTarget>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PatchV2TargetIdentifierAttributesAttributeStatusesStatusTarget$ {
    /** @deprecated use `PatchV2TargetIdentifierAttributesAttributeStatusesStatusTarget$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Lists: "lists";
        readonly Objects: "objects";
    }>;
    /** @deprecated use `PatchV2TargetIdentifierAttributesAttributeStatusesStatusTarget$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Lists: "lists";
        readonly Objects: "objects";
    }>;
}
/** @internal */
export declare const PatchV2TargetIdentifierAttributesAttributeStatusesStatusData$inboundSchema: z.ZodType<PatchV2TargetIdentifierAttributesAttributeStatusesStatusData, z.ZodTypeDef, unknown>;
/** @internal */
export type PatchV2TargetIdentifierAttributesAttributeStatusesStatusData$Outbound = {
    title?: string | undefined;
    celebration_enabled: boolean;
    target_time_in_status?: string | null | undefined;
    is_archived?: boolean | undefined;
};
/** @internal */
export declare const PatchV2TargetIdentifierAttributesAttributeStatusesStatusData$outboundSchema: z.ZodType<PatchV2TargetIdentifierAttributesAttributeStatusesStatusData$Outbound, z.ZodTypeDef, PatchV2TargetIdentifierAttributesAttributeStatusesStatusData>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PatchV2TargetIdentifierAttributesAttributeStatusesStatusData$ {
    /** @deprecated use `PatchV2TargetIdentifierAttributesAttributeStatusesStatusData$inboundSchema` instead. */
    const inboundSchema: z.ZodType<PatchV2TargetIdentifierAttributesAttributeStatusesStatusData, z.ZodTypeDef, unknown>;
    /** @deprecated use `PatchV2TargetIdentifierAttributesAttributeStatusesStatusData$outboundSchema` instead. */
    const outboundSchema: z.ZodType<PatchV2TargetIdentifierAttributesAttributeStatusesStatusData$Outbound, z.ZodTypeDef, PatchV2TargetIdentifierAttributesAttributeStatusesStatusData>;
    /** @deprecated use `PatchV2TargetIdentifierAttributesAttributeStatusesStatusData$Outbound` instead. */
    type Outbound = PatchV2TargetIdentifierAttributesAttributeStatusesStatusData$Outbound;
}
export declare function patchV2TargetIdentifierAttributesAttributeStatusesStatusDataToJSON(patchV2TargetIdentifierAttributesAttributeStatusesStatusData: PatchV2TargetIdentifierAttributesAttributeStatusesStatusData): string;
export declare function patchV2TargetIdentifierAttributesAttributeStatusesStatusDataFromJSON(jsonString: string): SafeParseResult<PatchV2TargetIdentifierAttributesAttributeStatusesStatusData, SDKValidationError>;
/** @internal */
export declare const PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequestBody$inboundSchema: z.ZodType<PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequestBody, z.ZodTypeDef, unknown>;
/** @internal */
export type PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequestBody$Outbound = {
    data: PatchV2TargetIdentifierAttributesAttributeStatusesStatusData$Outbound;
};
/** @internal */
export declare const PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequestBody$outboundSchema: z.ZodType<PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequestBody$Outbound, z.ZodTypeDef, PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequestBody>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequestBody$ {
    /** @deprecated use `PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequestBody$inboundSchema` instead. */
    const inboundSchema: z.ZodType<PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequestBody, z.ZodTypeDef, unknown>;
    /** @deprecated use `PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequestBody$outboundSchema` instead. */
    const outboundSchema: z.ZodType<PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequestBody$Outbound, z.ZodTypeDef, PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequestBody>;
    /** @deprecated use `PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequestBody$Outbound` instead. */
    type Outbound = PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequestBody$Outbound;
}
export declare function patchV2TargetIdentifierAttributesAttributeStatusesStatusRequestBodyToJSON(patchV2TargetIdentifierAttributesAttributeStatusesStatusRequestBody: PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequestBody): string;
export declare function patchV2TargetIdentifierAttributesAttributeStatusesStatusRequestBodyFromJSON(jsonString: string): SafeParseResult<PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequestBody, SDKValidationError>;
/** @internal */
export declare const PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequest$inboundSchema: z.ZodType<PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequest$Outbound = {
    target: string;
    identifier: string;
    attribute: string;
    status: string;
    RequestBody: PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequestBody$Outbound;
};
/** @internal */
export declare const PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequest$outboundSchema: z.ZodType<PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequest$Outbound, z.ZodTypeDef, PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequest$ {
    /** @deprecated use `PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequest$Outbound, z.ZodTypeDef, PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequest>;
    /** @deprecated use `PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequest$Outbound` instead. */
    type Outbound = PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequest$Outbound;
}
export declare function patchV2TargetIdentifierAttributesAttributeStatusesStatusRequestToJSON(patchV2TargetIdentifierAttributesAttributeStatusesStatusRequest: PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequest): string;
export declare function patchV2TargetIdentifierAttributesAttributeStatusesStatusRequestFromJSON(jsonString: string): SafeParseResult<PatchV2TargetIdentifierAttributesAttributeStatusesStatusRequest, SDKValidationError>;
/** @internal */
export declare const PatchV2TargetIdentifierAttributesAttributeStatusesStatusResponse$inboundSchema: z.ZodType<PatchV2TargetIdentifierAttributesAttributeStatusesStatusResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type PatchV2TargetIdentifierAttributesAttributeStatusesStatusResponse$Outbound = {
    data: Status$Outbound;
};
/** @internal */
export declare const PatchV2TargetIdentifierAttributesAttributeStatusesStatusResponse$outboundSchema: z.ZodType<PatchV2TargetIdentifierAttributesAttributeStatusesStatusResponse$Outbound, z.ZodTypeDef, PatchV2TargetIdentifierAttributesAttributeStatusesStatusResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PatchV2TargetIdentifierAttributesAttributeStatusesStatusResponse$ {
    /** @deprecated use `PatchV2TargetIdentifierAttributesAttributeStatusesStatusResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<PatchV2TargetIdentifierAttributesAttributeStatusesStatusResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `PatchV2TargetIdentifierAttributesAttributeStatusesStatusResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<PatchV2TargetIdentifierAttributesAttributeStatusesStatusResponse$Outbound, z.ZodTypeDef, PatchV2TargetIdentifierAttributesAttributeStatusesStatusResponse>;
    /** @deprecated use `PatchV2TargetIdentifierAttributesAttributeStatusesStatusResponse$Outbound` instead. */
    type Outbound = PatchV2TargetIdentifierAttributesAttributeStatusesStatusResponse$Outbound;
}
export declare function patchV2TargetIdentifierAttributesAttributeStatusesStatusResponseToJSON(patchV2TargetIdentifierAttributesAttributeStatusesStatusResponse: PatchV2TargetIdentifierAttributesAttributeStatusesStatusResponse): string;
export declare function patchV2TargetIdentifierAttributesAttributeStatusesStatusResponseFromJSON(jsonString: string): SafeParseResult<PatchV2TargetIdentifierAttributesAttributeStatusesStatusResponse, SDKValidationError>;
//# sourceMappingURL=patchv2targetidentifierattributesattributestatusesstatus.d.ts.map