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 ConnectSessionTokenAuthLinkMetadata$inboundSchema: z.ZodType<ConnectSessionTokenAuthLinkMetadata, z.ZodTypeDef, unknown>;
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 ConnectSessionTokenAuthLink$inboundSchema: z.ZodType<ConnectSessionTokenAuthLink, z.ZodTypeDef, unknown>;
export declare function connectSessionTokenAuthLinkFromJSON(jsonString: string): SafeParseResult<ConnectSessionTokenAuthLink, SDKValidationError>;
//# sourceMappingURL=connectsessiontokenauthlink.d.ts.map