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";
export declare enum ConnectSessionTokenAuthLinkCategories {
    Ats = "ats",
    Hris = "hris",
    HrisLegacy = "hris-legacy",
    Crm = "crm",
    Iam = "iam",
    Marketing = "marketing",
    Lms = "lms",
    Stackone = "stackone",
    Documents = "documents",
    Ticketing = "ticketing",
    Screening = "screening",
    Messaging = "messaging",
    Accounting = "accounting"
}
/**
 * Arbitrary set of key and values defined during the session token creation. This can be used to tag an account (eg. based on their pricing plan)
 */
export type ConnectSessionTokenAuthLinkMetadata = {};
/**
 * The connect session account type
 */
export declare enum ConnectSessionTokenAuthLinkType {
    Production = "production",
    Test = "test",
    UnmappedValue = "unmapped_value"
}
/**
 * The connect session account type
 */
export type ConnectSessionTokenAuthLinkTypeOpen = OpenEnum<typeof ConnectSessionTokenAuthLinkType>;
export type ConnectSessionTokenAuthLink = {
    accountId?: string | null | undefined;
    authLinkUrl: string;
    categories?: Array<ConnectSessionTokenAuthLinkCategories> | null | undefined;
    createdAt: Date;
    /**
     * External trigger token to be used to trigger actions on the account
     */
    externalTriggerToken?: string | null | undefined;
    id: number;
    label?: string | null | undefined;
    /**
     * Arbitrary set of key and values defined during the session token creation. This can be used to tag an account (eg. based on their pricing plan)
     */
    metadata?: ConnectSessionTokenAuthLinkMetadata | null | undefined;
    organizationId: number;
    originOwnerId: string;
    originOwnerName: string;
    originUsername?: string | null | undefined;
    projectId: string;
    provider?: string | null | undefined;
    token: string;
    /**
     * The connect session account type
     */
    type?: ConnectSessionTokenAuthLinkTypeOpen | null | undefined;
};
/** @internal */
export declare const ConnectSessionTokenAuthLinkCategories$inboundSchema: z.ZodNativeEnum<typeof ConnectSessionTokenAuthLinkCategories>;
/** @internal */
export declare const ConnectSessionTokenAuthLinkCategories$outboundSchema: z.ZodNativeEnum<typeof ConnectSessionTokenAuthLinkCategories>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ConnectSessionTokenAuthLinkCategories$ {
    /** @deprecated use `ConnectSessionTokenAuthLinkCategories$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<typeof ConnectSessionTokenAuthLinkCategories>;
    /** @deprecated use `ConnectSessionTokenAuthLinkCategories$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<typeof ConnectSessionTokenAuthLinkCategories>;
}
/** @internal */
export declare const ConnectSessionTokenAuthLinkMetadata$inboundSchema: z.ZodType<ConnectSessionTokenAuthLinkMetadata, z.ZodTypeDef, unknown>;
/** @internal */
export type ConnectSessionTokenAuthLinkMetadata$Outbound = {};
/** @internal */
export declare const ConnectSessionTokenAuthLinkMetadata$outboundSchema: z.ZodType<ConnectSessionTokenAuthLinkMetadata$Outbound, z.ZodTypeDef, ConnectSessionTokenAuthLinkMetadata>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ConnectSessionTokenAuthLinkMetadata$ {
    /** @deprecated use `ConnectSessionTokenAuthLinkMetadata$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ConnectSessionTokenAuthLinkMetadata, z.ZodTypeDef, unknown>;
    /** @deprecated use `ConnectSessionTokenAuthLinkMetadata$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ConnectSessionTokenAuthLinkMetadata$Outbound, z.ZodTypeDef, ConnectSessionTokenAuthLinkMetadata>;
    /** @deprecated use `ConnectSessionTokenAuthLinkMetadata$Outbound` instead. */
    type Outbound = ConnectSessionTokenAuthLinkMetadata$Outbound;
}
export declare function connectSessionTokenAuthLinkMetadataToJSON(connectSessionTokenAuthLinkMetadata: ConnectSessionTokenAuthLinkMetadata): string;
export declare function connectSessionTokenAuthLinkMetadataFromJSON(jsonString: string): SafeParseResult<ConnectSessionTokenAuthLinkMetadata, SDKValidationError>;
/** @internal */
export declare const ConnectSessionTokenAuthLinkType$inboundSchema: z.ZodType<ConnectSessionTokenAuthLinkTypeOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const ConnectSessionTokenAuthLinkType$outboundSchema: z.ZodType<ConnectSessionTokenAuthLinkTypeOpen, z.ZodTypeDef, ConnectSessionTokenAuthLinkTypeOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ConnectSessionTokenAuthLinkType$ {
    /** @deprecated use `ConnectSessionTokenAuthLinkType$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ConnectSessionTokenAuthLinkTypeOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `ConnectSessionTokenAuthLinkType$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ConnectSessionTokenAuthLinkTypeOpen, z.ZodTypeDef, ConnectSessionTokenAuthLinkTypeOpen>;
}
/** @internal */
export declare const ConnectSessionTokenAuthLink$inboundSchema: z.ZodType<ConnectSessionTokenAuthLink, z.ZodTypeDef, unknown>;
/** @internal */
export type ConnectSessionTokenAuthLink$Outbound = {
    account_id?: string | null | undefined;
    auth_link_url: string;
    categories?: Array<string> | null | undefined;
    created_at: string;
    external_trigger_token?: string | null | undefined;
    id: number;
    label?: string | null | undefined;
    metadata?: ConnectSessionTokenAuthLinkMetadata$Outbound | null | undefined;
    organization_id: number;
    origin_owner_id: string;
    origin_owner_name: string;
    origin_username?: string | null | undefined;
    project_id: string;
    provider?: string | null | undefined;
    token: string;
    type?: string | null | undefined;
};
/** @internal */
export declare const ConnectSessionTokenAuthLink$outboundSchema: z.ZodType<ConnectSessionTokenAuthLink$Outbound, z.ZodTypeDef, ConnectSessionTokenAuthLink>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ConnectSessionTokenAuthLink$ {
    /** @deprecated use `ConnectSessionTokenAuthLink$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ConnectSessionTokenAuthLink, z.ZodTypeDef, unknown>;
    /** @deprecated use `ConnectSessionTokenAuthLink$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ConnectSessionTokenAuthLink$Outbound, z.ZodTypeDef, ConnectSessionTokenAuthLink>;
    /** @deprecated use `ConnectSessionTokenAuthLink$Outbound` instead. */
    type Outbound = ConnectSessionTokenAuthLink$Outbound;
}
export declare function connectSessionTokenAuthLinkToJSON(connectSessionTokenAuthLink: ConnectSessionTokenAuthLink): string;
export declare function connectSessionTokenAuthLinkFromJSON(jsonString: string): SafeParseResult<ConnectSessionTokenAuthLink, SDKValidationError>;
//# sourceMappingURL=connectsessiontokenauthlink.d.ts.map