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 PostV2TargetIdentifierAttributesAttributeStatusesTarget: {
    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 PostV2TargetIdentifierAttributesAttributeStatusesTarget = ClosedEnum<typeof PostV2TargetIdentifierAttributesAttributeStatusesTarget>;
export type PostV2TargetIdentifierAttributesAttributeStatusesData = {
    /**
     * The Title of the status
     */
    title: string;
    /**
     * 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;
};
export type PostV2TargetIdentifierAttributesAttributeStatusesRequestBody = {
    data: PostV2TargetIdentifierAttributesAttributeStatusesData;
};
export type PostV2TargetIdentifierAttributesAttributeStatusesRequest = {
    /**
     * 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: PostV2TargetIdentifierAttributesAttributeStatusesTarget;
    identifier: string;
    attribute: string;
    requestBody: PostV2TargetIdentifierAttributesAttributeStatusesRequestBody;
};
/**
 * Success
 */
export type PostV2TargetIdentifierAttributesAttributeStatusesResponse = {
    data: Status;
};
/** @internal */
export declare const PostV2TargetIdentifierAttributesAttributeStatusesTarget$inboundSchema: z.ZodNativeEnum<typeof PostV2TargetIdentifierAttributesAttributeStatusesTarget>;
/** @internal */
export declare const PostV2TargetIdentifierAttributesAttributeStatusesTarget$outboundSchema: z.ZodNativeEnum<typeof PostV2TargetIdentifierAttributesAttributeStatusesTarget>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PostV2TargetIdentifierAttributesAttributeStatusesTarget$ {
    /** @deprecated use `PostV2TargetIdentifierAttributesAttributeStatusesTarget$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Lists: "lists";
        readonly Objects: "objects";
    }>;
    /** @deprecated use `PostV2TargetIdentifierAttributesAttributeStatusesTarget$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Lists: "lists";
        readonly Objects: "objects";
    }>;
}
/** @internal */
export declare const PostV2TargetIdentifierAttributesAttributeStatusesData$inboundSchema: z.ZodType<PostV2TargetIdentifierAttributesAttributeStatusesData, z.ZodTypeDef, unknown>;
/** @internal */
export type PostV2TargetIdentifierAttributesAttributeStatusesData$Outbound = {
    title: string;
    celebration_enabled: boolean;
    target_time_in_status?: string | null | undefined;
};
/** @internal */
export declare const PostV2TargetIdentifierAttributesAttributeStatusesData$outboundSchema: z.ZodType<PostV2TargetIdentifierAttributesAttributeStatusesData$Outbound, z.ZodTypeDef, PostV2TargetIdentifierAttributesAttributeStatusesData>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PostV2TargetIdentifierAttributesAttributeStatusesData$ {
    /** @deprecated use `PostV2TargetIdentifierAttributesAttributeStatusesData$inboundSchema` instead. */
    const inboundSchema: z.ZodType<PostV2TargetIdentifierAttributesAttributeStatusesData, z.ZodTypeDef, unknown>;
    /** @deprecated use `PostV2TargetIdentifierAttributesAttributeStatusesData$outboundSchema` instead. */
    const outboundSchema: z.ZodType<PostV2TargetIdentifierAttributesAttributeStatusesData$Outbound, z.ZodTypeDef, PostV2TargetIdentifierAttributesAttributeStatusesData>;
    /** @deprecated use `PostV2TargetIdentifierAttributesAttributeStatusesData$Outbound` instead. */
    type Outbound = PostV2TargetIdentifierAttributesAttributeStatusesData$Outbound;
}
export declare function postV2TargetIdentifierAttributesAttributeStatusesDataToJSON(postV2TargetIdentifierAttributesAttributeStatusesData: PostV2TargetIdentifierAttributesAttributeStatusesData): string;
export declare function postV2TargetIdentifierAttributesAttributeStatusesDataFromJSON(jsonString: string): SafeParseResult<PostV2TargetIdentifierAttributesAttributeStatusesData, SDKValidationError>;
/** @internal */
export declare const PostV2TargetIdentifierAttributesAttributeStatusesRequestBody$inboundSchema: z.ZodType<PostV2TargetIdentifierAttributesAttributeStatusesRequestBody, z.ZodTypeDef, unknown>;
/** @internal */
export type PostV2TargetIdentifierAttributesAttributeStatusesRequestBody$Outbound = {
    data: PostV2TargetIdentifierAttributesAttributeStatusesData$Outbound;
};
/** @internal */
export declare const PostV2TargetIdentifierAttributesAttributeStatusesRequestBody$outboundSchema: z.ZodType<PostV2TargetIdentifierAttributesAttributeStatusesRequestBody$Outbound, z.ZodTypeDef, PostV2TargetIdentifierAttributesAttributeStatusesRequestBody>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PostV2TargetIdentifierAttributesAttributeStatusesRequestBody$ {
    /** @deprecated use `PostV2TargetIdentifierAttributesAttributeStatusesRequestBody$inboundSchema` instead. */
    const inboundSchema: z.ZodType<PostV2TargetIdentifierAttributesAttributeStatusesRequestBody, z.ZodTypeDef, unknown>;
    /** @deprecated use `PostV2TargetIdentifierAttributesAttributeStatusesRequestBody$outboundSchema` instead. */
    const outboundSchema: z.ZodType<PostV2TargetIdentifierAttributesAttributeStatusesRequestBody$Outbound, z.ZodTypeDef, PostV2TargetIdentifierAttributesAttributeStatusesRequestBody>;
    /** @deprecated use `PostV2TargetIdentifierAttributesAttributeStatusesRequestBody$Outbound` instead. */
    type Outbound = PostV2TargetIdentifierAttributesAttributeStatusesRequestBody$Outbound;
}
export declare function postV2TargetIdentifierAttributesAttributeStatusesRequestBodyToJSON(postV2TargetIdentifierAttributesAttributeStatusesRequestBody: PostV2TargetIdentifierAttributesAttributeStatusesRequestBody): string;
export declare function postV2TargetIdentifierAttributesAttributeStatusesRequestBodyFromJSON(jsonString: string): SafeParseResult<PostV2TargetIdentifierAttributesAttributeStatusesRequestBody, SDKValidationError>;
/** @internal */
export declare const PostV2TargetIdentifierAttributesAttributeStatusesRequest$inboundSchema: z.ZodType<PostV2TargetIdentifierAttributesAttributeStatusesRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type PostV2TargetIdentifierAttributesAttributeStatusesRequest$Outbound = {
    target: string;
    identifier: string;
    attribute: string;
    RequestBody: PostV2TargetIdentifierAttributesAttributeStatusesRequestBody$Outbound;
};
/** @internal */
export declare const PostV2TargetIdentifierAttributesAttributeStatusesRequest$outboundSchema: z.ZodType<PostV2TargetIdentifierAttributesAttributeStatusesRequest$Outbound, z.ZodTypeDef, PostV2TargetIdentifierAttributesAttributeStatusesRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PostV2TargetIdentifierAttributesAttributeStatusesRequest$ {
    /** @deprecated use `PostV2TargetIdentifierAttributesAttributeStatusesRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<PostV2TargetIdentifierAttributesAttributeStatusesRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `PostV2TargetIdentifierAttributesAttributeStatusesRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<PostV2TargetIdentifierAttributesAttributeStatusesRequest$Outbound, z.ZodTypeDef, PostV2TargetIdentifierAttributesAttributeStatusesRequest>;
    /** @deprecated use `PostV2TargetIdentifierAttributesAttributeStatusesRequest$Outbound` instead. */
    type Outbound = PostV2TargetIdentifierAttributesAttributeStatusesRequest$Outbound;
}
export declare function postV2TargetIdentifierAttributesAttributeStatusesRequestToJSON(postV2TargetIdentifierAttributesAttributeStatusesRequest: PostV2TargetIdentifierAttributesAttributeStatusesRequest): string;
export declare function postV2TargetIdentifierAttributesAttributeStatusesRequestFromJSON(jsonString: string): SafeParseResult<PostV2TargetIdentifierAttributesAttributeStatusesRequest, SDKValidationError>;
/** @internal */
export declare const PostV2TargetIdentifierAttributesAttributeStatusesResponse$inboundSchema: z.ZodType<PostV2TargetIdentifierAttributesAttributeStatusesResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type PostV2TargetIdentifierAttributesAttributeStatusesResponse$Outbound = {
    data: Status$Outbound;
};
/** @internal */
export declare const PostV2TargetIdentifierAttributesAttributeStatusesResponse$outboundSchema: z.ZodType<PostV2TargetIdentifierAttributesAttributeStatusesResponse$Outbound, z.ZodTypeDef, PostV2TargetIdentifierAttributesAttributeStatusesResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PostV2TargetIdentifierAttributesAttributeStatusesResponse$ {
    /** @deprecated use `PostV2TargetIdentifierAttributesAttributeStatusesResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<PostV2TargetIdentifierAttributesAttributeStatusesResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `PostV2TargetIdentifierAttributesAttributeStatusesResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<PostV2TargetIdentifierAttributesAttributeStatusesResponse$Outbound, z.ZodTypeDef, PostV2TargetIdentifierAttributesAttributeStatusesResponse>;
    /** @deprecated use `PostV2TargetIdentifierAttributesAttributeStatusesResponse$Outbound` instead. */
    type Outbound = PostV2TargetIdentifierAttributesAttributeStatusesResponse$Outbound;
}
export declare function postV2TargetIdentifierAttributesAttributeStatusesResponseToJSON(postV2TargetIdentifierAttributesAttributeStatusesResponse: PostV2TargetIdentifierAttributesAttributeStatusesResponse): string;
export declare function postV2TargetIdentifierAttributesAttributeStatusesResponseFromJSON(jsonString: string): SafeParseResult<PostV2TargetIdentifierAttributesAttributeStatusesResponse, SDKValidationError>;
//# sourceMappingURL=postv2targetidentifierattributesattributestatuses.d.ts.map