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";
export type Skills4 = {};
export type SkillsSourceValue = Skills4 | string | number | boolean | Array<any>;
export declare enum SkillsValue {
    Primary = "primary",
    Secondary = "secondary",
    Tertiary = "tertiary"
}
export type SkillsValueOpen = OpenEnum<typeof SkillsValue>;
/**
 * The hierarchal level of the skill
 */
export type SkillsLevel = {
    sourceValue?: Skills4 | string | number | boolean | Array<any> | null | undefined;
    value?: SkillsValueOpen | null | undefined;
};
export type Skills = {
    /**
     * Whether the skill is active and therefore available for use
     */
    active?: boolean | null | undefined;
    /**
     * The ID associated with this skill
     */
    id?: string | null | undefined;
    /**
     * The hierarchal level of the skill
     */
    level?: SkillsLevel | null | undefined;
    /**
     * The name associated with this skill
     */
    name?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
};
/** @internal */
export declare const Skills4$inboundSchema: z.ZodType<Skills4, z.ZodTypeDef, unknown>;
/** @internal */
export type Skills4$Outbound = {};
/** @internal */
export declare const Skills4$outboundSchema: z.ZodType<Skills4$Outbound, z.ZodTypeDef, Skills4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Skills4$ {
    /** @deprecated use `Skills4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Skills4, z.ZodTypeDef, unknown>;
    /** @deprecated use `Skills4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Skills4$Outbound, z.ZodTypeDef, Skills4>;
    /** @deprecated use `Skills4$Outbound` instead. */
    type Outbound = Skills4$Outbound;
}
export declare function skills4ToJSON(skills4: Skills4): string;
export declare function skills4FromJSON(jsonString: string): SafeParseResult<Skills4, SDKValidationError>;
/** @internal */
export declare const SkillsSourceValue$inboundSchema: z.ZodType<SkillsSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type SkillsSourceValue$Outbound = Skills4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const SkillsSourceValue$outboundSchema: z.ZodType<SkillsSourceValue$Outbound, z.ZodTypeDef, SkillsSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace SkillsSourceValue$ {
    /** @deprecated use `SkillsSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<SkillsSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `SkillsSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<SkillsSourceValue$Outbound, z.ZodTypeDef, SkillsSourceValue>;
    /** @deprecated use `SkillsSourceValue$Outbound` instead. */
    type Outbound = SkillsSourceValue$Outbound;
}
export declare function skillsSourceValueToJSON(skillsSourceValue: SkillsSourceValue): string;
export declare function skillsSourceValueFromJSON(jsonString: string): SafeParseResult<SkillsSourceValue, SDKValidationError>;
/** @internal */
export declare const SkillsValue$inboundSchema: z.ZodType<SkillsValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const SkillsValue$outboundSchema: z.ZodType<SkillsValueOpen, z.ZodTypeDef, SkillsValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace SkillsValue$ {
    /** @deprecated use `SkillsValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<SkillsValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `SkillsValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<SkillsValueOpen, z.ZodTypeDef, SkillsValueOpen>;
}
/** @internal */
export declare const SkillsLevel$inboundSchema: z.ZodType<SkillsLevel, z.ZodTypeDef, unknown>;
/** @internal */
export type SkillsLevel$Outbound = {
    source_value?: Skills4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const SkillsLevel$outboundSchema: z.ZodType<SkillsLevel$Outbound, z.ZodTypeDef, SkillsLevel>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace SkillsLevel$ {
    /** @deprecated use `SkillsLevel$inboundSchema` instead. */
    const inboundSchema: z.ZodType<SkillsLevel, z.ZodTypeDef, unknown>;
    /** @deprecated use `SkillsLevel$outboundSchema` instead. */
    const outboundSchema: z.ZodType<SkillsLevel$Outbound, z.ZodTypeDef, SkillsLevel>;
    /** @deprecated use `SkillsLevel$Outbound` instead. */
    type Outbound = SkillsLevel$Outbound;
}
export declare function skillsLevelToJSON(skillsLevel: SkillsLevel): string;
export declare function skillsLevelFromJSON(jsonString: string): SafeParseResult<SkillsLevel, SDKValidationError>;
/** @internal */
export declare const Skills$inboundSchema: z.ZodType<Skills, z.ZodTypeDef, unknown>;
/** @internal */
export type Skills$Outbound = {
    active?: boolean | null | undefined;
    id?: string | null | undefined;
    level?: SkillsLevel$Outbound | null | undefined;
    name?: string | null | undefined;
    remote_id?: string | null | undefined;
};
/** @internal */
export declare const Skills$outboundSchema: z.ZodType<Skills$Outbound, z.ZodTypeDef, Skills>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Skills$ {
    /** @deprecated use `Skills$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Skills, z.ZodTypeDef, unknown>;
    /** @deprecated use `Skills$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Skills$Outbound, z.ZodTypeDef, Skills>;
    /** @deprecated use `Skills$Outbound` instead. */
    type Outbound = Skills$Outbound;
}
export declare function skillsToJSON(skills: Skills): string;
export declare function skillsFromJSON(jsonString: string): SafeParseResult<Skills, SDKValidationError>;
//# sourceMappingURL=skills.d.ts.map