import * as z from "zod";
import { OpenEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { ListItem, ListItem$Outbound } from "./listitem.js";
export type List4 = {};
/**
 * The source value of the list type.
 */
export type ListSourceValue = List4 | string | number | boolean | Array<any>;
/**
 * The type of the list.
 */
export declare enum ListValue {
    Candidates = "candidates",
    Contacts = "contacts",
    Companies = "companies",
    UnmappedValue = "unmapped_value"
}
/**
 * The type of the list.
 */
export type ListValueOpen = OpenEnum<typeof ListValue>;
/**
 * The list type
 */
export type ListType = {
    /**
     * The source value of the list type.
     */
    sourceValue?: List4 | string | number | boolean | Array<any> | null | undefined;
    /**
     * The type of the list.
     */
    value?: ListValueOpen | null | undefined;
};
export type List = {
    /**
     * Timestamp when the list was created
     */
    createdAt?: Date | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    items?: Array<ListItem> | null | undefined;
    name?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * The list type
     */
    type?: ListType | null | undefined;
    /**
     * Custom Unified Fields configured in your StackOne project
     */
    unifiedCustomFields?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * Timestamp when the list was last updated
     */
    updatedAt?: Date | null | undefined;
};
/** @internal */
export declare const List4$inboundSchema: z.ZodType<List4, z.ZodTypeDef, unknown>;
/** @internal */
export type List4$Outbound = {};
/** @internal */
export declare const List4$outboundSchema: z.ZodType<List4$Outbound, z.ZodTypeDef, List4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace List4$ {
    /** @deprecated use `List4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<List4, z.ZodTypeDef, unknown>;
    /** @deprecated use `List4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<List4$Outbound, z.ZodTypeDef, List4>;
    /** @deprecated use `List4$Outbound` instead. */
    type Outbound = List4$Outbound;
}
export declare function list4ToJSON(list4: List4): string;
export declare function list4FromJSON(jsonString: string): SafeParseResult<List4, SDKValidationError>;
/** @internal */
export declare const ListSourceValue$inboundSchema: z.ZodType<ListSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type ListSourceValue$Outbound = List4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const ListSourceValue$outboundSchema: z.ZodType<ListSourceValue$Outbound, z.ZodTypeDef, ListSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ListSourceValue$ {
    /** @deprecated use `ListSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ListSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `ListSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ListSourceValue$Outbound, z.ZodTypeDef, ListSourceValue>;
    /** @deprecated use `ListSourceValue$Outbound` instead. */
    type Outbound = ListSourceValue$Outbound;
}
export declare function listSourceValueToJSON(listSourceValue: ListSourceValue): string;
export declare function listSourceValueFromJSON(jsonString: string): SafeParseResult<ListSourceValue, SDKValidationError>;
/** @internal */
export declare const ListValue$inboundSchema: z.ZodType<ListValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const ListValue$outboundSchema: z.ZodType<ListValueOpen, z.ZodTypeDef, ListValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ListValue$ {
    /** @deprecated use `ListValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ListValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `ListValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ListValueOpen, z.ZodTypeDef, ListValueOpen>;
}
/** @internal */
export declare const ListType$inboundSchema: z.ZodType<ListType, z.ZodTypeDef, unknown>;
/** @internal */
export type ListType$Outbound = {
    source_value?: List4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const ListType$outboundSchema: z.ZodType<ListType$Outbound, z.ZodTypeDef, ListType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ListType$ {
    /** @deprecated use `ListType$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ListType, z.ZodTypeDef, unknown>;
    /** @deprecated use `ListType$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ListType$Outbound, z.ZodTypeDef, ListType>;
    /** @deprecated use `ListType$Outbound` instead. */
    type Outbound = ListType$Outbound;
}
export declare function listTypeToJSON(listType: ListType): string;
export declare function listTypeFromJSON(jsonString: string): SafeParseResult<ListType, SDKValidationError>;
/** @internal */
export declare const List$inboundSchema: z.ZodType<List, z.ZodTypeDef, unknown>;
/** @internal */
export type List$Outbound = {
    created_at?: string | null | undefined;
    id?: string | null | undefined;
    items?: Array<ListItem$Outbound> | null | undefined;
    name?: string | null | undefined;
    remote_id?: string | null | undefined;
    type?: ListType$Outbound | null | undefined;
    unified_custom_fields?: {
        [k: string]: any;
    } | null | undefined;
    updated_at?: string | null | undefined;
};
/** @internal */
export declare const List$outboundSchema: z.ZodType<List$Outbound, z.ZodTypeDef, List>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace List$ {
    /** @deprecated use `List$inboundSchema` instead. */
    const inboundSchema: z.ZodType<List, z.ZodTypeDef, unknown>;
    /** @deprecated use `List$outboundSchema` instead. */
    const outboundSchema: z.ZodType<List$Outbound, z.ZodTypeDef, List>;
    /** @deprecated use `List$Outbound` instead. */
    type Outbound = List$Outbound;
}
export declare function listToJSON(list: List): string;
export declare function listFromJSON(jsonString: string): SafeParseResult<List, SDKValidationError>;
//# sourceMappingURL=list.d.ts.map