/**
 * GraphQL schema types for custom operations
 * @generated by @constructive-io/graphql-codegen
 * DO NOT EDIT - changes will be overwritten
 */
import type { AuditLogAuth, CryptoAddress, Email, IdentityProvider, OrgApiKeyList, PhoneNumber, Principal, PrincipalEntity, PrincipalScopeOverride, RoleType, User, UserConnectedAccount, WebauthnCredential, BigIntFilter, BitStringFilter, BooleanFilter, DatetimeFilter, FullTextFilter, IntFilter, InternetAddressFilter, JSONFilter, StringFilter, StringListFilter, UUIDFilter } from './types';
export type Base64EncodedBinary = unknown;
export type ConstructiveInternalTypeEmail = unknown;
export type ConstructiveInternalTypeImage = unknown;
export type ConstructiveInternalTypeOrigin = unknown;
/** Methods to use when ordering `AuditLogAuth`. */
export type AuditLogAuthOrderBy = 'ACTOR_ID_ASC' | 'ACTOR_ID_DESC' | 'CREATED_AT_ASC' | 'CREATED_AT_DESC' | 'EVENT_ASC' | 'EVENT_DESC' | 'ID_ASC' | 'ID_DESC' | 'IP_ADDRESS_ASC' | 'IP_ADDRESS_DESC' | 'NATURAL' | 'ORIGIN_ASC' | 'ORIGIN_DESC' | 'PRIMARY_KEY_ASC' | 'PRIMARY_KEY_DESC' | 'SUCCESS_ASC' | 'SUCCESS_DESC' | 'USER_AGENT_ASC' | 'USER_AGENT_DESC';
/** Methods to use when ordering `CryptoAddress`. */
export type CryptoAddressOrderBy = 'ADDRESS_ASC' | 'ADDRESS_DESC' | 'CREATED_AT_ASC' | 'CREATED_AT_DESC' | 'ID_ASC' | 'ID_DESC' | 'IS_PRIMARY_ASC' | 'IS_PRIMARY_DESC' | 'IS_VERIFIED_ASC' | 'IS_VERIFIED_DESC' | 'NAME_ASC' | 'NAME_DESC' | 'NATURAL' | 'OWNER_ID_ASC' | 'OWNER_ID_DESC' | 'PRIMARY_KEY_ASC' | 'PRIMARY_KEY_DESC' | 'UPDATED_AT_ASC' | 'UPDATED_AT_DESC';
/** Methods to use when ordering `Email`. */
export type EmailOrderBy = 'CREATED_AT_ASC' | 'CREATED_AT_DESC' | 'EMAIL_ASC' | 'EMAIL_DESC' | 'ID_ASC' | 'ID_DESC' | 'IS_PRIMARY_ASC' | 'IS_PRIMARY_DESC' | 'IS_VERIFIED_ASC' | 'IS_VERIFIED_DESC' | 'NAME_ASC' | 'NAME_DESC' | 'NATURAL' | 'OWNER_ID_ASC' | 'OWNER_ID_DESC' | 'PRIMARY_KEY_ASC' | 'PRIMARY_KEY_DESC' | 'UPDATED_AT_ASC' | 'UPDATED_AT_DESC';
/** Methods to use when ordering `IdentityProvider`. */
export type IdentityProviderOrderBy = 'DISPLAY_NAME_ASC' | 'DISPLAY_NAME_DESC' | 'ENABLED_ASC' | 'ENABLED_DESC' | 'KIND_ASC' | 'KIND_DESC' | 'NATURAL' | 'SLUG_ASC' | 'SLUG_DESC';
/** Methods to use when ordering `OrgApiKeyList`. */
export type OrgApiKeyListOrderBy = 'ACCESS_LEVEL_ASC' | 'ACCESS_LEVEL_DESC' | 'CREATED_AT_ASC' | 'CREATED_AT_DESC' | 'EXPIRES_AT_ASC' | 'EXPIRES_AT_DESC' | 'ID_ASC' | 'ID_DESC' | 'KEY_ID_ASC' | 'KEY_ID_DESC' | 'LAST_USED_AT_ASC' | 'LAST_USED_AT_DESC' | 'MFA_LEVEL_ASC' | 'MFA_LEVEL_DESC' | 'NAME_ASC' | 'NAME_DESC' | 'NATURAL' | 'ORG_ID_ASC' | 'ORG_ID_DESC' | 'PRINCIPAL_ID_ASC' | 'PRINCIPAL_ID_DESC' | 'REVOKED_AT_ASC' | 'REVOKED_AT_DESC' | 'UPDATED_AT_ASC' | 'UPDATED_AT_DESC';
/** Methods to use when ordering `PhoneNumber`. */
export type PhoneNumberOrderBy = 'CC_ASC' | 'CC_DESC' | 'CREATED_AT_ASC' | 'CREATED_AT_DESC' | 'ID_ASC' | 'ID_DESC' | 'IS_PRIMARY_ASC' | 'IS_PRIMARY_DESC' | 'IS_VERIFIED_ASC' | 'IS_VERIFIED_DESC' | 'NAME_ASC' | 'NAME_DESC' | 'NATURAL' | 'NUMBER_ASC' | 'NUMBER_DESC' | 'OWNER_ID_ASC' | 'OWNER_ID_DESC' | 'PRIMARY_KEY_ASC' | 'PRIMARY_KEY_DESC' | 'UPDATED_AT_ASC' | 'UPDATED_AT_DESC';
/** Methods to use when ordering `PrincipalEntity`. */
export type PrincipalEntityOrderBy = 'CREATED_AT_ASC' | 'CREATED_AT_DESC' | 'ENTITY_ID_ASC' | 'ENTITY_ID_DESC' | 'ID_ASC' | 'ID_DESC' | 'NATURAL' | 'OWNER_ID_ASC' | 'OWNER_ID_DESC' | 'PRIMARY_KEY_ASC' | 'PRIMARY_KEY_DESC' | 'PRINCIPAL_ID_ASC' | 'PRINCIPAL_ID_DESC' | 'UPDATED_AT_ASC' | 'UPDATED_AT_DESC';
/** Methods to use when ordering `Principal`. */
export type PrincipalOrderBy = 'BYPASS_STEP_UP_ASC' | 'BYPASS_STEP_UP_DESC' | 'CREATED_AT_ASC' | 'CREATED_AT_DESC' | 'ID_ASC' | 'ID_DESC' | 'IS_READ_ONLY_ASC' | 'IS_READ_ONLY_DESC' | 'NAME_ASC' | 'NAME_DESC' | 'NATURAL' | 'OWNER_ID_ASC' | 'OWNER_ID_DESC' | 'PRIMARY_KEY_ASC' | 'PRIMARY_KEY_DESC' | 'UPDATED_AT_ASC' | 'UPDATED_AT_DESC' | 'USER_ID_ASC' | 'USER_ID_DESC' | 'USE_ADMIN_OWNER_ASC' | 'USE_ADMIN_OWNER_DESC';
/** Methods to use when ordering `PrincipalScopeOverride`. */
export type PrincipalScopeOverrideOrderBy = 'ALLOWED_MASK_ASC' | 'ALLOWED_MASK_DESC' | 'CREATED_AT_ASC' | 'CREATED_AT_DESC' | 'ID_ASC' | 'ID_DESC' | 'IS_ACTIVE_ASC' | 'IS_ACTIVE_DESC' | 'IS_READ_ONLY_ASC' | 'IS_READ_ONLY_DESC' | 'MEMBERSHIP_TYPE_ASC' | 'MEMBERSHIP_TYPE_DESC' | 'NATURAL' | 'PRIMARY_KEY_ASC' | 'PRIMARY_KEY_DESC' | 'PRINCIPAL_ID_ASC' | 'PRINCIPAL_ID_DESC' | 'UPDATED_AT_ASC' | 'UPDATED_AT_DESC' | 'USE_ADMIN_OWNER_ASC' | 'USE_ADMIN_OWNER_DESC';
/** Methods to use when ordering `RoleType`. */
export type RoleTypeOrderBy = 'ID_ASC' | 'ID_DESC' | 'NAME_ASC' | 'NAME_DESC' | 'NATURAL' | 'PRIMARY_KEY_ASC' | 'PRIMARY_KEY_DESC';
/** Methods to use when ordering `UserConnectedAccount`. */
export type UserConnectedAccountOrderBy = 'CREATED_AT_ASC' | 'CREATED_AT_DESC' | 'DETAILS_ASC' | 'DETAILS_DESC' | 'IDENTIFIER_ASC' | 'IDENTIFIER_DESC' | 'ID_ASC' | 'ID_DESC' | 'IS_VERIFIED_ASC' | 'IS_VERIFIED_DESC' | 'NATURAL' | 'OWNER_ID_ASC' | 'OWNER_ID_DESC' | 'SERVICE_ASC' | 'SERVICE_DESC' | 'UPDATED_AT_ASC' | 'UPDATED_AT_DESC';
/** Methods to use when ordering `User`. */
export type UserOrderBy = 'CREATED_AT_ASC' | 'CREATED_AT_DESC' | 'DISPLAY_NAME_ASC' | 'DISPLAY_NAME_DESC' | 'DISPLAY_NAME_TRGM_SIMILARITY_ASC' | 'DISPLAY_NAME_TRGM_SIMILARITY_DESC' | 'ID_ASC' | 'ID_DESC' | 'NATURAL' | 'PRIMARY_KEY_ASC' | 'PRIMARY_KEY_DESC' | 'PROFILE_PICTURE_ASC' | 'PROFILE_PICTURE_DESC' | 'SEARCH_SCORE_ASC' | 'SEARCH_SCORE_DESC' | 'SEARCH_TSV_ASC' | 'SEARCH_TSV_DESC' | 'SEARCH_TSV_RANK_ASC' | 'SEARCH_TSV_RANK_DESC' | 'TYPE_ASC' | 'TYPE_DESC' | 'UPDATED_AT_ASC' | 'UPDATED_AT_DESC' | 'USERNAME_ASC' | 'USERNAME_DESC';
/** Methods to use when ordering `WebauthnCredential`. */
export type WebauthnCredentialOrderBy = 'BACKUP_ELIGIBLE_ASC' | 'BACKUP_ELIGIBLE_DESC' | 'BACKUP_STATE_ASC' | 'BACKUP_STATE_DESC' | 'CREATED_AT_ASC' | 'CREATED_AT_DESC' | 'CREDENTIAL_DEVICE_TYPE_ASC' | 'CREDENTIAL_DEVICE_TYPE_DESC' | 'CREDENTIAL_ID_ASC' | 'CREDENTIAL_ID_DESC' | 'ID_ASC' | 'ID_DESC' | 'LAST_USED_AT_ASC' | 'LAST_USED_AT_DESC' | 'NAME_ASC' | 'NAME_DESC' | 'NATURAL' | 'OWNER_ID_ASC' | 'OWNER_ID_DESC' | 'PRIMARY_KEY_ASC' | 'PRIMARY_KEY_DESC' | 'PUBLIC_KEY_ASC' | 'PUBLIC_KEY_DESC' | 'SIGN_COUNT_ASC' | 'SIGN_COUNT_DESC' | 'TRANSPORTS_ASC' | 'TRANSPORTS_DESC' | 'UPDATED_AT_ASC' | 'UPDATED_AT_DESC' | 'WEBAUTHN_USER_ID_ASC' | 'WEBAUTHN_USER_ID_DESC';
/** A filter to be used against `AuditLogAuth` object types. All fields are combined with a logical ‘and.’ */
export interface AuditLogAuthFilter {
    /** Filter by the object’s `actor` relation. */
    actor?: UserFilter;
    /** A related `actor` exists. */
    actorExists?: boolean;
    /** Filter by the object’s `actorId` field. */
    actorId?: UUIDFilter;
    /** Checks for all expressions in this list. */
    and?: AuditLogAuthFilter[];
    /** Filter by the object’s `createdAt` field. */
    createdAt?: DatetimeFilter;
    /** Filter by the object’s `event` field. */
    event?: StringFilter;
    /** Filter by the object’s `id` field. */
    id?: UUIDFilter;
    /** Filter by the object’s `ipAddress` field. */
    ipAddress?: InternetAddressFilter;
    /** Negates the expression. */
    not?: AuditLogAuthFilter;
    /** Checks for any expressions in this list. */
    or?: AuditLogAuthFilter[];
    /** Filter by the object’s `origin` field. */
    origin?: ConstructiveInternalTypeOriginFilter;
    /** Filter by the object’s `success` field. */
    success?: BooleanFilter;
    /** Filter by the object’s `userAgent` field. */
    userAgent?: StringFilter;
}
/** An input for mutations affecting `AuditLogAuth` */
export interface AuditLogAuthInput {
    /** User who performed the authentication action; NULL if user was deleted */
    actorId?: string;
    createdAt?: string;
    /** Type of authentication event (e.g. sign_in, sign_up, password_change, verify_email) */
    event: string;
    /** Unique identifier for each audit event (uuidv7 provides temporal ordering) */
    id?: string;
    /** IP address of the client that initiated the auth event */
    ipAddress?: string;
    /** Request origin (domain) where the auth event occurred */
    origin?: ConstructiveInternalTypeOrigin;
    /** Whether the authentication attempt succeeded */
    success: boolean;
    /** Browser or client user-agent string from the request */
    userAgent?: string;
}
/** Represents an update to a `AuditLogAuth`. Fields that are set will be updated. */
export interface AuditLogAuthPatch {
    /** User who performed the authentication action; NULL if user was deleted */
    actorId?: string;
    createdAt?: string;
    /** Type of authentication event (e.g. sign_in, sign_up, password_change, verify_email) */
    event?: string;
    /** Unique identifier for each audit event (uuidv7 provides temporal ordering) */
    id?: string;
    /** IP address of the client that initiated the auth event */
    ipAddress?: string;
    /** Request origin (domain) where the auth event occurred */
    origin?: ConstructiveInternalTypeOrigin;
    /** Whether the authentication attempt succeeded */
    success?: boolean;
    /** Browser or client user-agent string from the request */
    userAgent?: string;
}
/** A filter to be used against Base64EncodedBinary fields. All fields are combined with a logical ‘and.’ */
export interface Base64EncodedBinaryFilter {
    /** Not equal to the specified value, treating null like an ordinary value. */
    distinctFrom?: Base64EncodedBinary;
    /** Equal to the specified value. */
    equalTo?: Base64EncodedBinary;
    /** Included in the specified list. */
    in?: Base64EncodedBinary[];
    /** Is null (if `true` is specified) or is not null (if `false` is specified). */
    isNull?: boolean;
    /** Equal to the specified value, treating null like an ordinary value. */
    notDistinctFrom?: Base64EncodedBinary;
    /** Not equal to the specified value. */
    notEqualTo?: Base64EncodedBinary;
    /** Not included in the specified list. */
    notIn?: Base64EncodedBinary[];
}
export interface CheckPasswordInput {
    clientMutationId?: string;
    password?: string;
}
export interface ConfirmDeleteAccountInput {
    clientMutationId?: string;
    token?: string;
    userId?: string;
}
/** A filter to be used against ConstructiveInternalTypeEmail fields. All fields are combined with a logical ‘and.’ */
export interface ConstructiveInternalTypeEmailFilter {
    /** Not equal to the specified value, treating null like an ordinary value. */
    distinctFrom?: string;
    /** Not equal to the specified value, treating null like an ordinary value (case-insensitive). */
    distinctFromInsensitive?: ConstructiveInternalTypeEmail;
    /** Ends with the specified string (case-sensitive). */
    endsWith?: string;
    /** Ends with the specified string (case-insensitive). */
    endsWithInsensitive?: ConstructiveInternalTypeEmail;
    /** Equal to the specified value. */
    equalTo?: string;
    /** Equal to the specified value (case-insensitive). */
    equalToInsensitive?: ConstructiveInternalTypeEmail;
    /** Greater than the specified value. */
    greaterThan?: string;
    /** Greater than the specified value (case-insensitive). */
    greaterThanInsensitive?: ConstructiveInternalTypeEmail;
    /** Greater than or equal to the specified value. */
    greaterThanOrEqualTo?: string;
    /** Greater than or equal to the specified value (case-insensitive). */
    greaterThanOrEqualToInsensitive?: ConstructiveInternalTypeEmail;
    /** Included in the specified list. */
    in?: string[];
    /** Included in the specified list (case-insensitive). */
    inInsensitive?: ConstructiveInternalTypeEmail[];
    /** Contains the specified string (case-sensitive). */
    includes?: string;
    /** Contains the specified string (case-insensitive). */
    includesInsensitive?: ConstructiveInternalTypeEmail;
    /** Is null (if `true` is specified) or is not null (if `false` is specified). */
    isNull?: boolean;
    /** Less than the specified value. */
    lessThan?: string;
    /** Less than the specified value (case-insensitive). */
    lessThanInsensitive?: ConstructiveInternalTypeEmail;
    /** Less than or equal to the specified value. */
    lessThanOrEqualTo?: string;
    /** Less than or equal to the specified value (case-insensitive). */
    lessThanOrEqualToInsensitive?: ConstructiveInternalTypeEmail;
    /** Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */
    like?: string;
    /** Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */
    likeInsensitive?: ConstructiveInternalTypeEmail;
    /** Equal to the specified value, treating null like an ordinary value. */
    notDistinctFrom?: string;
    /** Equal to the specified value, treating null like an ordinary value (case-insensitive). */
    notDistinctFromInsensitive?: ConstructiveInternalTypeEmail;
    /** Does not end with the specified string (case-sensitive). */
    notEndsWith?: string;
    /** Does not end with the specified string (case-insensitive). */
    notEndsWithInsensitive?: ConstructiveInternalTypeEmail;
    /** Not equal to the specified value. */
    notEqualTo?: string;
    /** Not equal to the specified value (case-insensitive). */
    notEqualToInsensitive?: ConstructiveInternalTypeEmail;
    /** Not included in the specified list. */
    notIn?: string[];
    /** Not included in the specified list (case-insensitive). */
    notInInsensitive?: ConstructiveInternalTypeEmail[];
    /** Does not contain the specified string (case-sensitive). */
    notIncludes?: string;
    /** Does not contain the specified string (case-insensitive). */
    notIncludesInsensitive?: ConstructiveInternalTypeEmail;
    /** Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */
    notLike?: string;
    /** Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */
    notLikeInsensitive?: ConstructiveInternalTypeEmail;
    /** Does not start with the specified string (case-sensitive). */
    notStartsWith?: string;
    /** Does not start with the specified string (case-insensitive). */
    notStartsWithInsensitive?: ConstructiveInternalTypeEmail;
    /** Starts with the specified string (case-sensitive). */
    startsWith?: string;
    /** Starts with the specified string (case-insensitive). */
    startsWithInsensitive?: ConstructiveInternalTypeEmail;
}
/** A filter to be used against ConstructiveInternalTypeImage fields. All fields are combined with a logical ‘and.’ */
export interface ConstructiveInternalTypeImageFilter {
    /** Contained by the specified JSON. */
    containedBy?: ConstructiveInternalTypeImage;
    /** Contains the specified JSON. */
    contains?: ConstructiveInternalTypeImage;
    /** Contains all of the specified keys. */
    containsAllKeys?: string[];
    /** Contains any of the specified keys. */
    containsAnyKeys?: string[];
    /** Contains the specified key. */
    containsKey?: string;
    /** Not equal to the specified value, treating null like an ordinary value. */
    distinctFrom?: ConstructiveInternalTypeImage;
    /** Equal to the specified value. */
    equalTo?: ConstructiveInternalTypeImage;
    /** Greater than the specified value. */
    greaterThan?: ConstructiveInternalTypeImage;
    /** Greater than or equal to the specified value. */
    greaterThanOrEqualTo?: ConstructiveInternalTypeImage;
    /** Included in the specified list. */
    in?: ConstructiveInternalTypeImage[];
    /** Is null (if `true` is specified) or is not null (if `false` is specified). */
    isNull?: boolean;
    /** Less than the specified value. */
    lessThan?: ConstructiveInternalTypeImage;
    /** Less than or equal to the specified value. */
    lessThanOrEqualTo?: ConstructiveInternalTypeImage;
    /** Equal to the specified value, treating null like an ordinary value. */
    notDistinctFrom?: ConstructiveInternalTypeImage;
    /** Not equal to the specified value. */
    notEqualTo?: ConstructiveInternalTypeImage;
    /** Not included in the specified list. */
    notIn?: ConstructiveInternalTypeImage[];
}
/** A filter to be used against ConstructiveInternalTypeOrigin fields. All fields are combined with a logical ‘and.’ */
export interface ConstructiveInternalTypeOriginFilter {
    /** Not equal to the specified value, treating null like an ordinary value. */
    distinctFrom?: ConstructiveInternalTypeOrigin;
    /** Not equal to the specified value, treating null like an ordinary value (case-insensitive). */
    distinctFromInsensitive?: string;
    /** Ends with the specified string (case-sensitive). */
    endsWith?: ConstructiveInternalTypeOrigin;
    /** Ends with the specified string (case-insensitive). */
    endsWithInsensitive?: ConstructiveInternalTypeOrigin;
    /** Equal to the specified value. */
    equalTo?: ConstructiveInternalTypeOrigin;
    /** Equal to the specified value (case-insensitive). */
    equalToInsensitive?: string;
    /** Greater than the specified value. */
    greaterThan?: ConstructiveInternalTypeOrigin;
    /** Greater than the specified value (case-insensitive). */
    greaterThanInsensitive?: string;
    /** Greater than or equal to the specified value. */
    greaterThanOrEqualTo?: ConstructiveInternalTypeOrigin;
    /** Greater than or equal to the specified value (case-insensitive). */
    greaterThanOrEqualToInsensitive?: string;
    /** Included in the specified list. */
    in?: ConstructiveInternalTypeOrigin[];
    /** Included in the specified list (case-insensitive). */
    inInsensitive?: string[];
    /** Contains the specified string (case-sensitive). */
    includes?: ConstructiveInternalTypeOrigin;
    /** Contains the specified string (case-insensitive). */
    includesInsensitive?: ConstructiveInternalTypeOrigin;
    /** Is null (if `true` is specified) or is not null (if `false` is specified). */
    isNull?: boolean;
    /** Less than the specified value. */
    lessThan?: ConstructiveInternalTypeOrigin;
    /** Less than the specified value (case-insensitive). */
    lessThanInsensitive?: string;
    /** Less than or equal to the specified value. */
    lessThanOrEqualTo?: ConstructiveInternalTypeOrigin;
    /** Less than or equal to the specified value (case-insensitive). */
    lessThanOrEqualToInsensitive?: string;
    /** Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */
    like?: ConstructiveInternalTypeOrigin;
    /** Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */
    likeInsensitive?: ConstructiveInternalTypeOrigin;
    /** Equal to the specified value, treating null like an ordinary value. */
    notDistinctFrom?: ConstructiveInternalTypeOrigin;
    /** Equal to the specified value, treating null like an ordinary value (case-insensitive). */
    notDistinctFromInsensitive?: string;
    /** Does not end with the specified string (case-sensitive). */
    notEndsWith?: ConstructiveInternalTypeOrigin;
    /** Does not end with the specified string (case-insensitive). */
    notEndsWithInsensitive?: ConstructiveInternalTypeOrigin;
    /** Not equal to the specified value. */
    notEqualTo?: ConstructiveInternalTypeOrigin;
    /** Not equal to the specified value (case-insensitive). */
    notEqualToInsensitive?: string;
    /** Not included in the specified list. */
    notIn?: ConstructiveInternalTypeOrigin[];
    /** Not included in the specified list (case-insensitive). */
    notInInsensitive?: string[];
    /** Does not contain the specified string (case-sensitive). */
    notIncludes?: ConstructiveInternalTypeOrigin;
    /** Does not contain the specified string (case-insensitive). */
    notIncludesInsensitive?: ConstructiveInternalTypeOrigin;
    /** Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */
    notLike?: ConstructiveInternalTypeOrigin;
    /** Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */
    notLikeInsensitive?: ConstructiveInternalTypeOrigin;
    /** Does not start with the specified string (case-sensitive). */
    notStartsWith?: ConstructiveInternalTypeOrigin;
    /** Does not start with the specified string (case-insensitive). */
    notStartsWithInsensitive?: ConstructiveInternalTypeOrigin;
    /** Starts with the specified string (case-sensitive). */
    startsWith?: ConstructiveInternalTypeOrigin;
    /** Starts with the specified string (case-insensitive). */
    startsWithInsensitive?: ConstructiveInternalTypeOrigin;
}
export interface CreateApiKeyInput {
    accessLevel?: string;
    clientMutationId?: string;
    expiresIn?: IntervalInput;
    keyName?: string;
    mfaLevel?: string;
    principalId?: string;
}
export interface CreateAuditLogAuthInput {
    /** The `AuditLogAuth` to be created by this mutation. */
    auditLogAuth: AuditLogAuthInput;
    clientMutationId?: string;
}
export interface CreateCryptoAddressInput {
    clientMutationId?: string;
    /** The `CryptoAddress` to be created by this mutation. */
    cryptoAddress: CryptoAddressInput;
}
export interface CreateEmailInput {
    clientMutationId?: string;
    /** The `Email` to be created by this mutation. */
    email: EmailInput;
}
export interface CreateOrgApiKeyInput {
    accessLevel?: string;
    clientMutationId?: string;
    expiresIn?: IntervalInput;
    keyName?: string;
    mfaLevel?: string;
    orgId?: string;
    principalId?: string;
}
export interface CreateOrgPrincipalInput {
    bypassStepUp?: boolean;
    clientMutationId?: string;
    isReadOnly?: boolean;
    name?: string;
    orgId?: string;
    useAdminOwner?: boolean;
}
export interface CreatePhoneNumberInput {
    clientMutationId?: string;
    /** The `PhoneNumber` to be created by this mutation. */
    phoneNumber: PhoneNumberInput;
}
export interface CreatePrincipalEntityInput {
    clientMutationId?: string;
    /** The `PrincipalEntity` to be created by this mutation. */
    principalEntity: PrincipalEntityInput;
}
export interface CreatePrincipalInput {
    bypassStepUp?: boolean;
    clientMutationId?: string;
    entityIds?: string[];
    isReadOnly?: boolean;
    name?: string;
    useAdminOwner?: boolean;
}
export interface CreateRoleTypeInput {
    clientMutationId?: string;
    /** The `RoleType` to be created by this mutation. */
    roleType: RoleTypeInput;
}
export interface CreateUserInput {
    clientMutationId?: string;
    /** The `User` to be created by this mutation. */
    user: UserInput;
}
export interface CreateWebauthnCredentialInput {
    clientMutationId?: string;
    /** The `WebauthnCredential` to be created by this mutation. */
    webauthnCredential: WebauthnCredentialInput;
}
/** A filter to be used against `CryptoAddress` object types. All fields are combined with a logical ‘and.’ */
export interface CryptoAddressFilter {
    /** Filter by the object’s `address` field. */
    address?: StringFilter;
    /** Checks for all expressions in this list. */
    and?: CryptoAddressFilter[];
    /** Filter by the object’s `createdAt` field. */
    createdAt?: DatetimeFilter;
    /** Filter by the object’s `id` field. */
    id?: UUIDFilter;
    /** Filter by the object’s `isPrimary` field. */
    isPrimary?: BooleanFilter;
    /** Filter by the object’s `isVerified` field. */
    isVerified?: BooleanFilter;
    /** Filter by the object’s `name` field. */
    name?: StringFilter;
    /** Negates the expression. */
    not?: CryptoAddressFilter;
    /** Checks for any expressions in this list. */
    or?: CryptoAddressFilter[];
    /** Filter by the object’s `owner` relation. */
    owner?: UserFilter;
    /** Filter by the object’s `ownerId` field. */
    ownerId?: UUIDFilter;
    /** Filter by the object’s `updatedAt` field. */
    updatedAt?: DatetimeFilter;
}
/** An input for mutations affecting `CryptoAddress` */
export interface CryptoAddressInput {
    /** The cryptocurrency wallet address, validated against network-specific patterns */
    address: string;
    createdAt?: string;
    id?: string;
    /** Whether this is the user's primary cryptocurrency address */
    isPrimary?: boolean;
    /** Whether ownership of this address has been cryptographically verified */
    isVerified?: boolean;
    /** Optional user-provided label for this address (e.g. "Main wallet", "Hardware wallet"). */
    name?: string;
    ownerId?: string;
    updatedAt?: string;
}
/** Represents an update to a `CryptoAddress`. Fields that are set will be updated. */
export interface CryptoAddressPatch {
    /** The cryptocurrency wallet address, validated against network-specific patterns */
    address?: string;
    createdAt?: string;
    id?: string;
    /** Whether this is the user's primary cryptocurrency address */
    isPrimary?: boolean;
    /** Whether ownership of this address has been cryptographically verified */
    isVerified?: boolean;
    /** Optional user-provided label for this address (e.g. "Main wallet", "Hardware wallet"). */
    name?: string;
    ownerId?: string;
    updatedAt?: string;
}
export interface DeleteAuditLogAuthInput {
    clientMutationId?: string;
    createdAt: string;
    /** Unique identifier for each audit event (uuidv7 provides temporal ordering) */
    id: string;
}
export interface DeleteCryptoAddressInput {
    clientMutationId?: string;
    id: string;
}
export interface DeleteEmailInput {
    clientMutationId?: string;
    id: string;
}
export interface DeleteOrgPrincipalInput {
    clientMutationId?: string;
    principalId?: string;
}
export interface DeletePhoneNumberInput {
    clientMutationId?: string;
    id: string;
}
export interface DeletePrincipalEntityInput {
    clientMutationId?: string;
    id: string;
}
export interface DeletePrincipalInput {
    clientMutationId?: string;
    principalId?: string;
}
export interface DeleteRoleTypeInput {
    clientMutationId?: string;
    id: number;
}
export interface DeleteUserInput {
    clientMutationId?: string;
    id: string;
}
export interface DeleteWebauthnCredentialInput {
    clientMutationId?: string;
    id: string;
}
export interface DisconnectAccountInput {
    accountId: string;
    clientMutationId?: string;
}
/** A filter to be used against `Email` object types. All fields are combined with a logical ‘and.’ */
export interface EmailFilter {
    /** Checks for all expressions in this list. */
    and?: EmailFilter[];
    /** Filter by the object’s `createdAt` field. */
    createdAt?: DatetimeFilter;
    /** Filter by the object’s `email` field. */
    email?: ConstructiveInternalTypeEmailFilter;
    /** Filter by the object’s `id` field. */
    id?: UUIDFilter;
    /** Filter by the object’s `isPrimary` field. */
    isPrimary?: BooleanFilter;
    /** Filter by the object’s `isVerified` field. */
    isVerified?: BooleanFilter;
    /** Filter by the object’s `name` field. */
    name?: StringFilter;
    /** Negates the expression. */
    not?: EmailFilter;
    /** Checks for any expressions in this list. */
    or?: EmailFilter[];
    /** Filter by the object’s `owner` relation. */
    owner?: UserFilter;
    /** Filter by the object’s `ownerId` field. */
    ownerId?: UUIDFilter;
    /** Filter by the object’s `updatedAt` field. */
    updatedAt?: DatetimeFilter;
}
/** An input for mutations affecting `Email` */
export interface EmailInput {
    createdAt?: string;
    /** The email address */
    email: ConstructiveInternalTypeEmail;
    id?: string;
    /** Whether this is the user's primary email address */
    isPrimary?: boolean;
    /** Whether the email address has been verified via confirmation link */
    isVerified?: boolean;
    /** Optional user-provided label for this email (e.g. "Work", "Personal"). */
    name?: string;
    ownerId?: string;
    updatedAt?: string;
}
/** Represents an update to a `Email`. Fields that are set will be updated. */
export interface EmailPatch {
    createdAt?: string;
    /** The email address */
    email?: ConstructiveInternalTypeEmail;
    id?: string;
    /** Whether this is the user's primary email address */
    isPrimary?: boolean;
    /** Whether the email address has been verified via confirmation link */
    isVerified?: boolean;
    /** Optional user-provided label for this email (e.g. "Work", "Personal"). */
    name?: string;
    ownerId?: string;
    updatedAt?: string;
}
export interface ExtendTokenExpiresInput {
    amount?: IntervalInput;
    clientMutationId?: string;
}
export interface ForgotPasswordInput {
    clientMutationId?: string;
    email?: ConstructiveInternalTypeEmail;
}
/** A filter to be used against `IdentityProvider` object types. All fields are combined with a logical ‘and.’ */
export interface IdentityProviderFilter {
    /** Checks for all expressions in this list. */
    and?: IdentityProviderFilter[];
    /** Filter by the object’s `displayName` field. */
    displayName?: StringFilter;
    /** Filter by the object’s `enabled` field. */
    enabled?: BooleanFilter;
    /** Filter by the object’s `kind` field. */
    kind?: StringFilter;
    /** Negates the expression. */
    not?: IdentityProviderFilter;
    /** Checks for any expressions in this list. */
    or?: IdentityProviderFilter[];
    /** Filter by the object’s `slug` field. */
    slug?: StringFilter;
}
/** An interval of time that has passed where the smallest distinct unit is a second. */
export interface IntervalInput {
    /** A quantity of days. */
    days?: number;
    /** A quantity of hours. */
    hours?: number;
    /** A quantity of minutes. */
    minutes?: number;
    /** A quantity of months. */
    months?: number;
    /**
     * A quantity of seconds. This is the only non-integer field, as all the other
     * fields will dump their overflow into a smaller unit of time. Intervals don’t
     * have a smaller unit than seconds.
     */
    seconds?: number;
    /** A quantity of years. */
    years?: number;
}
export interface LinkIdentityInput {
    clientMutationId?: string;
    details?: unknown;
    identifier: string;
    service: string;
}
/** A filter to be used against `OrgApiKeyList` object types. All fields are combined with a logical ‘and.’ */
export interface OrgApiKeyListFilter {
    /** Filter by the object’s `accessLevel` field. */
    accessLevel?: StringFilter;
    /** Checks for all expressions in this list. */
    and?: OrgApiKeyListFilter[];
    /** Filter by the object’s `createdAt` field. */
    createdAt?: DatetimeFilter;
    /** Filter by the object’s `expiresAt` field. */
    expiresAt?: DatetimeFilter;
    /** Filter by the object’s `id` field. */
    id?: UUIDFilter;
    /** Filter by the object’s `keyId` field. */
    keyId?: StringFilter;
    /** Filter by the object’s `lastUsedAt` field. */
    lastUsedAt?: DatetimeFilter;
    /** Filter by the object’s `mfaLevel` field. */
    mfaLevel?: StringFilter;
    /** Filter by the object’s `name` field. */
    name?: StringFilter;
    /** Negates the expression. */
    not?: OrgApiKeyListFilter;
    /** Checks for any expressions in this list. */
    or?: OrgApiKeyListFilter[];
    /** Filter by the object’s `orgId` field. */
    orgId?: UUIDFilter;
    /** Filter by the object’s `principalId` field. */
    principalId?: UUIDFilter;
    /** Filter by the object’s `revokedAt` field. */
    revokedAt?: DatetimeFilter;
    /** Filter by the object’s `updatedAt` field. */
    updatedAt?: DatetimeFilter;
}
/** A filter to be used against `PhoneNumber` object types. All fields are combined with a logical ‘and.’ */
export interface PhoneNumberFilter {
    /** Checks for all expressions in this list. */
    and?: PhoneNumberFilter[];
    /** Filter by the object’s `cc` field. */
    cc?: StringFilter;
    /** Filter by the object’s `createdAt` field. */
    createdAt?: DatetimeFilter;
    /** Filter by the object’s `id` field. */
    id?: UUIDFilter;
    /** Filter by the object’s `isPrimary` field. */
    isPrimary?: BooleanFilter;
    /** Filter by the object’s `isVerified` field. */
    isVerified?: BooleanFilter;
    /** Filter by the object’s `name` field. */
    name?: StringFilter;
    /** Negates the expression. */
    not?: PhoneNumberFilter;
    /** Filter by the object’s `number` field. */
    number?: StringFilter;
    /** Checks for any expressions in this list. */
    or?: PhoneNumberFilter[];
    /** Filter by the object’s `owner` relation. */
    owner?: UserFilter;
    /** Filter by the object’s `ownerId` field. */
    ownerId?: UUIDFilter;
    /** Filter by the object’s `updatedAt` field. */
    updatedAt?: DatetimeFilter;
}
/** An input for mutations affecting `PhoneNumber` */
export interface PhoneNumberInput {
    /** Country calling code (e.g. +1, +44) */
    cc: string;
    createdAt?: string;
    id?: string;
    /** Whether this is the user's primary phone number */
    isPrimary?: boolean;
    /** Whether the phone number has been verified via SMS code */
    isVerified?: boolean;
    /** Optional user-provided label for this phone number (e.g. "Mobile", "Work"). */
    name?: string;
    /** The phone number without country code */
    number: string;
    ownerId?: string;
    updatedAt?: string;
}
/** Represents an update to a `PhoneNumber`. Fields that are set will be updated. */
export interface PhoneNumberPatch {
    /** Country calling code (e.g. +1, +44) */
    cc?: string;
    createdAt?: string;
    id?: string;
    /** Whether this is the user's primary phone number */
    isPrimary?: boolean;
    /** Whether the phone number has been verified via SMS code */
    isVerified?: boolean;
    /** Optional user-provided label for this phone number (e.g. "Mobile", "Work"). */
    name?: string;
    /** The phone number without country code */
    number?: string;
    ownerId?: string;
    updatedAt?: string;
}
/** A filter to be used against `PrincipalEntity` object types. All fields are combined with a logical ‘and.’ */
export interface PrincipalEntityFilter {
    /** Checks for all expressions in this list. */
    and?: PrincipalEntityFilter[];
    /** Filter by the object’s `createdAt` field. */
    createdAt?: DatetimeFilter;
    /** Filter by the object’s `entity` relation. */
    entity?: UserFilter;
    /** Filter by the object’s `entityId` field. */
    entityId?: UUIDFilter;
    /** Filter by the object’s `id` field. */
    id?: UUIDFilter;
    /** Negates the expression. */
    not?: PrincipalEntityFilter;
    /** Checks for any expressions in this list. */
    or?: PrincipalEntityFilter[];
    /** Filter by the object’s `owner` relation. */
    owner?: UserFilter;
    /** Filter by the object’s `ownerId` field. */
    ownerId?: UUIDFilter;
    /** Filter by the object’s `principal` relation. */
    principal?: PrincipalFilter;
    /** Filter by the object’s `principalId` field. */
    principalId?: UUIDFilter;
    /** Filter by the object’s `updatedAt` field. */
    updatedAt?: DatetimeFilter;
}
/** An input for mutations affecting `PrincipalEntity` */
export interface PrincipalEntityInput {
    createdAt?: string;
    /** The organization this principal is scoped to */
    entityId: string;
    id?: string;
    /** Denormalized owner_id from principals table for RLS */
    ownerId: string;
    /** The principal this scoping row belongs to */
    principalId: string;
    updatedAt?: string;
}
/** Represents an update to a `PrincipalEntity`. Fields that are set will be updated. */
export interface PrincipalEntityPatch {
    createdAt?: string;
    /** The organization this principal is scoped to */
    entityId?: string;
    id?: string;
    /** Denormalized owner_id from principals table for RLS */
    ownerId?: string;
    /** The principal this scoping row belongs to */
    principalId?: string;
    updatedAt?: string;
}
/** A filter to be used against `Principal` object types. All fields are combined with a logical ‘and.’ */
export interface PrincipalFilter {
    /** Checks for all expressions in this list. */
    and?: PrincipalFilter[];
    /** Filter by the object’s `bypassStepUp` field. */
    bypassStepUp?: BooleanFilter;
    /** Filter by the object’s `createdAt` field. */
    createdAt?: DatetimeFilter;
    /** Filter by the object’s `id` field. */
    id?: UUIDFilter;
    /** Filter by the object’s `isReadOnly` field. */
    isReadOnly?: BooleanFilter;
    /** Filter by the object’s `name` field. */
    name?: StringFilter;
    /** Negates the expression. */
    not?: PrincipalFilter;
    /** Checks for any expressions in this list. */
    or?: PrincipalFilter[];
    /** Filter by the object’s `owner` relation. */
    owner?: UserFilter;
    /** Filter by the object’s `ownerId` field. */
    ownerId?: UUIDFilter;
    /** Filter by the object’s `principalEntities` relation. */
    principalEntities?: PrincipalToManyPrincipalEntityFilter;
    /** `principalEntities` exist. */
    principalEntitiesExist?: boolean;
    /** Filter by the object’s `principalScopeOverrides` relation. */
    principalScopeOverrides?: PrincipalToManyPrincipalScopeOverrideFilter;
    /** `principalScopeOverrides` exist. */
    principalScopeOverridesExist?: boolean;
    /** Filter by the object’s `updatedAt` field. */
    updatedAt?: DatetimeFilter;
    /** Filter by the object’s `useAdminOwner` field. */
    useAdminOwner?: BooleanFilter;
    /** Filter by the object’s `user` relation. */
    user?: UserFilter;
    /** Filter by the object’s `userId` field. */
    userId?: UUIDFilter;
}
/** A filter to be used against `PrincipalScopeOverride` object types. All fields are combined with a logical ‘and.’ */
export interface PrincipalScopeOverrideFilter {
    /** Filter by the object’s `allowedMask` field. */
    allowedMask?: BitStringFilter;
    /** Checks for all expressions in this list. */
    and?: PrincipalScopeOverrideFilter[];
    /** Filter by the object’s `createdAt` field. */
    createdAt?: DatetimeFilter;
    /** Filter by the object’s `id` field. */
    id?: UUIDFilter;
    /** Filter by the object’s `isActive` field. */
    isActive?: BooleanFilter;
    /** Filter by the object’s `isReadOnly` field. */
    isReadOnly?: BooleanFilter;
    /** Filter by the object’s `membershipType` field. */
    membershipType?: IntFilter;
    /** Negates the expression. */
    not?: PrincipalScopeOverrideFilter;
    /** Checks for any expressions in this list. */
    or?: PrincipalScopeOverrideFilter[];
    /** Filter by the object’s `principal` relation. */
    principal?: PrincipalFilter;
    /** Filter by the object’s `principalId` field. */
    principalId?: UUIDFilter;
    /** Filter by the object’s `updatedAt` field. */
    updatedAt?: DatetimeFilter;
    /** Filter by the object’s `useAdminOwner` field. */
    useAdminOwner?: BooleanFilter;
}
/** A filter to be used against many `PrincipalEntity` object types. All fields are combined with a logical ‘and.’ */
export interface PrincipalToManyPrincipalEntityFilter {
    /** Filters to entities where every related entity matches. */
    every?: PrincipalEntityFilter;
    /** Filters to entities where no related entity matches. */
    none?: PrincipalEntityFilter;
    /** Filters to entities where at least one related entity matches. */
    some?: PrincipalEntityFilter;
}
/** A filter to be used against many `PrincipalScopeOverride` object types. All fields are combined with a logical ‘and.’ */
export interface PrincipalToManyPrincipalScopeOverrideFilter {
    /** Filters to entities where every related entity matches. */
    every?: PrincipalScopeOverrideFilter;
    /** Filters to entities where no related entity matches. */
    none?: PrincipalScopeOverrideFilter;
    /** Filters to entities where at least one related entity matches. */
    some?: PrincipalScopeOverrideFilter;
}
export interface ProvisionBucketInput {
    /** The logical bucket key (e.g., "public", "private") */
    bucketKey: string;
    /**
     * Owner entity ID for entity-scoped bucket provisioning.
     * Omit for app-level (database-wide) storage.
     */
    ownerId?: string;
}
export interface ProvisionNewUserInput {
    clientMutationId?: string;
    email?: string;
    password?: string;
}
export interface RequestCrossOriginTokenInput {
    clientMutationId?: string;
    email?: string;
    origin?: ConstructiveInternalTypeOrigin;
    password?: string;
    rememberMe?: boolean;
}
export interface ResetPasswordInput {
    clientMutationId?: string;
    newPassword?: string;
    resetToken?: string;
    roleId?: string;
}
export interface RevokeApiKeyInput {
    clientMutationId?: string;
    keyId: string;
}
export interface RevokeOrgApiKeyInput {
    clientMutationId?: string;
    keyId: string;
    orgId: string;
}
export interface RevokeSessionInput {
    clientMutationId?: string;
    sessionId: string;
}
/** A filter to be used against `RoleType` object types. All fields are combined with a logical ‘and.’ */
export interface RoleTypeFilter {
    /** Checks for all expressions in this list. */
    and?: RoleTypeFilter[];
    /** Filter by the object’s `id` field. */
    id?: IntFilter;
    /** Filter by the object’s `name` field. */
    name?: StringFilter;
    /** Negates the expression. */
    not?: RoleTypeFilter;
    /** Checks for any expressions in this list. */
    or?: RoleTypeFilter[];
    /** Filter by the object’s `usersByType` relation. */
    usersByType?: RoleTypeToManyUserFilter;
    /** `usersByType` exist. */
    usersByTypeExist?: boolean;
}
/** An input for mutations affecting `RoleType` */
export interface RoleTypeInput {
    id: number;
    name: string;
}
/** Represents an update to a `RoleType`. Fields that are set will be updated. */
export interface RoleTypePatch {
    id?: number;
    name?: string;
}
/** A filter to be used against many `User` object types. All fields are combined with a logical ‘and.’ */
export interface RoleTypeToManyUserFilter {
    /** Filters to entities where every related entity matches. */
    every?: UserFilter;
    /** Filters to entities where no related entity matches. */
    none?: UserFilter;
    /** Filters to entities where at least one related entity matches. */
    some?: UserFilter;
}
export interface SendAccountDeletionEmailInput {
    clientMutationId?: string;
}
export interface SendVerificationEmailInput {
    clientMutationId?: string;
    email?: ConstructiveInternalTypeEmail;
}
export interface SetPasswordInput {
    clientMutationId?: string;
    currentPassword?: string;
    newPassword?: string;
}
export interface SignInCrossOriginInput {
    clientMutationId?: string;
    credentialKind?: string;
    token?: string;
}
export interface SignInInput {
    clientMutationId?: string;
    credentialKind?: string;
    csrfToken?: string;
    deviceToken?: string;
    email?: string;
    password?: string;
    rememberMe?: boolean;
}
export interface SignInSmsOtpInput {
    clientMutationId?: string;
    code?: string;
    credentialKind?: string;
    deviceToken?: string;
    phone?: string;
    rememberMe?: boolean;
}
export interface SignOutInput {
    clientMutationId?: string;
}
export interface SignUpInput {
    clientMutationId?: string;
    credentialKind?: string;
    csrfToken?: string;
    deviceToken?: string;
    email?: string;
    password?: string;
    rememberMe?: boolean;
}
export interface SignUpSmsInput {
    clientMutationId?: string;
    code?: string;
    credentialKind?: string;
    deviceToken?: string;
    phone?: string;
    rememberMe?: boolean;
}
/** A filter to be used against String fields with pg_trgm support. All fields are combined with a logical ‘and.’ */
export interface StringTrgmFilter {
    /** Not equal to the specified value, treating null like an ordinary value. */
    distinctFrom?: string;
    /** Not equal to the specified value, treating null like an ordinary value (case-insensitive). */
    distinctFromInsensitive?: string;
    /** Ends with the specified string (case-sensitive). */
    endsWith?: string;
    /** Ends with the specified string (case-insensitive). */
    endsWithInsensitive?: string;
    /** Equal to the specified value. */
    equalTo?: string;
    /** Equal to the specified value (case-insensitive). */
    equalToInsensitive?: string;
    /** Greater than the specified value. */
    greaterThan?: string;
    /** Greater than the specified value (case-insensitive). */
    greaterThanInsensitive?: string;
    /** Greater than or equal to the specified value. */
    greaterThanOrEqualTo?: string;
    /** Greater than or equal to the specified value (case-insensitive). */
    greaterThanOrEqualToInsensitive?: string;
    /** Included in the specified list. */
    in?: string[];
    /** Included in the specified list (case-insensitive). */
    inInsensitive?: string[];
    /** Contains the specified string (case-sensitive). */
    includes?: string;
    /** Contains the specified string (case-insensitive). */
    includesInsensitive?: string;
    /** Is null (if `true` is specified) or is not null (if `false` is specified). */
    isNull?: boolean;
    /** Less than the specified value. */
    lessThan?: string;
    /** Less than the specified value (case-insensitive). */
    lessThanInsensitive?: string;
    /** Less than or equal to the specified value. */
    lessThanOrEqualTo?: string;
    /** Less than or equal to the specified value (case-insensitive). */
    lessThanOrEqualToInsensitive?: string;
    /** Matches the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */
    like?: string;
    /** Matches the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */
    likeInsensitive?: string;
    /** Equal to the specified value, treating null like an ordinary value. */
    notDistinctFrom?: string;
    /** Equal to the specified value, treating null like an ordinary value (case-insensitive). */
    notDistinctFromInsensitive?: string;
    /** Does not end with the specified string (case-sensitive). */
    notEndsWith?: string;
    /** Does not end with the specified string (case-insensitive). */
    notEndsWithInsensitive?: string;
    /** Not equal to the specified value. */
    notEqualTo?: string;
    /** Not equal to the specified value (case-insensitive). */
    notEqualToInsensitive?: string;
    /** Not included in the specified list. */
    notIn?: string[];
    /** Not included in the specified list (case-insensitive). */
    notInInsensitive?: string[];
    /** Does not contain the specified string (case-sensitive). */
    notIncludes?: string;
    /** Does not contain the specified string (case-insensitive). */
    notIncludesInsensitive?: string;
    /** Does not match the specified pattern (case-sensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */
    notLike?: string;
    /** Does not match the specified pattern (case-insensitive). An underscore (_) matches any single character; a percent sign (%) matches any sequence of zero or more characters. */
    notLikeInsensitive?: string;
    /** Does not start with the specified string (case-sensitive). */
    notStartsWith?: string;
    /** Does not start with the specified string (case-insensitive). */
    notStartsWithInsensitive?: string;
    /** Fuzzy matches using pg_trgm trigram similarity. Tolerates typos and misspellings. */
    similarTo?: TrgmSearchInput;
    /** Starts with the specified string (case-sensitive). */
    startsWith?: string;
    /** Starts with the specified string (case-insensitive). */
    startsWithInsensitive?: string;
    /** Fuzzy matches using pg_trgm word_similarity. Finds the best matching substring within the column value. */
    wordSimilarTo?: TrgmSearchInput;
}
/** Input for pg_trgm fuzzy text matching. Provide a search value and optional similarity threshold. */
export interface TrgmSearchInput {
    /** Minimum similarity threshold (0.0 to 1.0). Higher = stricter matching. Default is 0.3. */
    threshold?: number;
    /** The text to fuzzy-match against. Typos and misspellings are tolerated. */
    value: string;
}
export interface UpdateAuditLogAuthInput {
    /** An object where the defined keys will be set on the `AuditLogAuth` being updated. */
    auditLogAuthPatch: AuditLogAuthPatch;
    clientMutationId?: string;
    createdAt: string;
    /** Unique identifier for each audit event (uuidv7 provides temporal ordering) */
    id: string;
}
export interface UpdateCryptoAddressInput {
    clientMutationId?: string;
    /** An object where the defined keys will be set on the `CryptoAddress` being updated. */
    cryptoAddressPatch: CryptoAddressPatch;
    id: string;
}
export interface UpdateEmailInput {
    clientMutationId?: string;
    /** An object where the defined keys will be set on the `Email` being updated. */
    emailPatch: EmailPatch;
    id: string;
}
export interface UpdatePhoneNumberInput {
    clientMutationId?: string;
    id: string;
    /** An object where the defined keys will be set on the `PhoneNumber` being updated. */
    phoneNumberPatch: PhoneNumberPatch;
}
export interface UpdatePrincipalEntityInput {
    clientMutationId?: string;
    id: string;
    /** An object where the defined keys will be set on the `PrincipalEntity` being updated. */
    principalEntityPatch: PrincipalEntityPatch;
}
export interface UpdateRoleTypeInput {
    clientMutationId?: string;
    id: number;
    /** An object where the defined keys will be set on the `RoleType` being updated. */
    roleTypePatch: RoleTypePatch;
}
export interface UpdateUserInput {
    clientMutationId?: string;
    id: string;
    /** An object where the defined keys will be set on the `User` being updated. */
    userPatch: UserPatch;
}
export interface UpdateWebauthnCredentialInput {
    clientMutationId?: string;
    id: string;
    /** An object where the defined keys will be set on the `WebauthnCredential` being updated. */
    webauthnCredentialPatch: WebauthnCredentialPatch;
}
/** A filter to be used against `UserConnectedAccount` object types. All fields are combined with a logical ‘and.’ */
export interface UserConnectedAccountFilter {
    /** Checks for all expressions in this list. */
    and?: UserConnectedAccountFilter[];
    /** Filter by the object’s `createdAt` field. */
    createdAt?: DatetimeFilter;
    /** Filter by the object’s `details` field. */
    details?: JSONFilter;
    /** Filter by the object’s `id` field. */
    id?: UUIDFilter;
    /** Filter by the object’s `identifier` field. */
    identifier?: StringFilter;
    /** Filter by the object’s `isVerified` field. */
    isVerified?: BooleanFilter;
    /** Negates the expression. */
    not?: UserConnectedAccountFilter;
    /** Checks for any expressions in this list. */
    or?: UserConnectedAccountFilter[];
    /** Filter by the object’s `ownerId` field. */
    ownerId?: UUIDFilter;
    /** Filter by the object’s `service` field. */
    service?: StringFilter;
    /** Filter by the object’s `updatedAt` field. */
    updatedAt?: DatetimeFilter;
}
/** A filter to be used against `User` object types. All fields are combined with a logical ‘and.’ */
export interface UserFilter {
    /** Checks for all expressions in this list. */
    and?: UserFilter[];
    /** Filter by the object’s `auditLogAuthsByActorId` relation. */
    auditLogAuthsByActorId?: UserToManyAuditLogAuthFilter;
    /** `auditLogAuthsByActorId` exist. */
    auditLogAuthsByActorIdExist?: boolean;
    /** Filter by the object’s `createdAt` field. */
    createdAt?: DatetimeFilter;
    /** Filter by the object’s `displayName` field. */
    displayName?: StringTrgmFilter;
    /** Filter by the object’s `id` field. */
    id?: UUIDFilter;
    /** Negates the expression. */
    not?: UserFilter;
    /** Checks for any expressions in this list. */
    or?: UserFilter[];
    /** Filter by the object’s `ownedCryptoAddresses` relation. */
    ownedCryptoAddresses?: UserToManyCryptoAddressFilter;
    /** `ownedCryptoAddresses` exist. */
    ownedCryptoAddressesExist?: boolean;
    /** Filter by the object’s `ownedEmails` relation. */
    ownedEmails?: UserToManyEmailFilter;
    /** `ownedEmails` exist. */
    ownedEmailsExist?: boolean;
    /** Filter by the object’s `ownedPhoneNumbers` relation. */
    ownedPhoneNumbers?: UserToManyPhoneNumberFilter;
    /** `ownedPhoneNumbers` exist. */
    ownedPhoneNumbersExist?: boolean;
    /** Filter by the object’s `ownedPrincipalEntities` relation. */
    ownedPrincipalEntities?: UserToManyPrincipalEntityFilter;
    /** `ownedPrincipalEntities` exist. */
    ownedPrincipalEntitiesExist?: boolean;
    /** Filter by the object’s `ownedPrincipals` relation. */
    ownedPrincipals?: UserToManyPrincipalFilter;
    /** `ownedPrincipals` exist. */
    ownedPrincipalsExist?: boolean;
    /** Filter by the object’s `ownedWebauthnCredentials` relation. */
    ownedWebauthnCredentials?: UserToManyWebauthnCredentialFilter;
    /** `ownedWebauthnCredentials` exist. */
    ownedWebauthnCredentialsExist?: boolean;
    /** Filter by the object’s `principalEntitiesByEntityId` relation. */
    principalEntitiesByEntityId?: UserToManyPrincipalEntityFilter;
    /** `principalEntitiesByEntityId` exist. */
    principalEntitiesByEntityIdExist?: boolean;
    /** Filter by the object’s `principals` relation. */
    principals?: UserToManyPrincipalFilter;
    /** `principals` exist. */
    principalsExist?: boolean;
    /** Filter by the object’s `profilePicture` field. */
    profilePicture?: ConstructiveInternalTypeImageFilter;
    /** Filter by the object’s `roleType` relation. */
    roleType?: RoleTypeFilter;
    /** Filter by the object’s `searchTsv` field. */
    searchTsv?: FullTextFilter;
    /** TRGM search on the `display_name` column. */
    trgmDisplayName?: TrgmSearchInput;
    /** TSV search on the `search_tsv` column. */
    tsvSearchTsv?: string;
    /** Filter by the object’s `type` field. */
    type?: IntFilter;
    /**
     * Composite unified search. Provide a search string and it will be dispatched to
     * all text-compatible search algorithms (tsvector, BM25, pg_trgm)
     * simultaneously. When the LLM plugin is active, pgvector also participates via
     * auto-embedding. Rows matching ANY algorithm are returned. All matching score
     * fields are populated.
     */
    unifiedSearch?: string;
    /** Filter by the object’s `updatedAt` field. */
    updatedAt?: DatetimeFilter;
    /** Filter by the object’s `username` field. */
    username?: StringTrgmFilter;
}
/** An input for mutations affecting `User` */
export interface UserInput {
    createdAt?: string;
    displayName?: string;
    id?: string;
    profilePicture?: ConstructiveInternalTypeImage;
    type?: number;
    updatedAt?: string;
    username?: string;
}
/** Represents an update to a `User`. Fields that are set will be updated. */
export interface UserPatch {
    createdAt?: string;
    displayName?: string;
    id?: string;
    profilePicture?: ConstructiveInternalTypeImage;
    /** File upload for the `profilePicture` field. */
    profilePictureUpload?: File;
    type?: number;
    updatedAt?: string;
    username?: string;
}
/** A filter to be used against many `AuditLogAuth` object types. All fields are combined with a logical ‘and.’ */
export interface UserToManyAuditLogAuthFilter {
    /** Filters to entities where every related entity matches. */
    every?: AuditLogAuthFilter;
    /** Filters to entities where no related entity matches. */
    none?: AuditLogAuthFilter;
    /** Filters to entities where at least one related entity matches. */
    some?: AuditLogAuthFilter;
}
/** A filter to be used against many `CryptoAddress` object types. All fields are combined with a logical ‘and.’ */
export interface UserToManyCryptoAddressFilter {
    /** Filters to entities where every related entity matches. */
    every?: CryptoAddressFilter;
    /** Filters to entities where no related entity matches. */
    none?: CryptoAddressFilter;
    /** Filters to entities where at least one related entity matches. */
    some?: CryptoAddressFilter;
}
/** A filter to be used against many `Email` object types. All fields are combined with a logical ‘and.’ */
export interface UserToManyEmailFilter {
    /** Filters to entities where every related entity matches. */
    every?: EmailFilter;
    /** Filters to entities where no related entity matches. */
    none?: EmailFilter;
    /** Filters to entities where at least one related entity matches. */
    some?: EmailFilter;
}
/** A filter to be used against many `PhoneNumber` object types. All fields are combined with a logical ‘and.’ */
export interface UserToManyPhoneNumberFilter {
    /** Filters to entities where every related entity matches. */
    every?: PhoneNumberFilter;
    /** Filters to entities where no related entity matches. */
    none?: PhoneNumberFilter;
    /** Filters to entities where at least one related entity matches. */
    some?: PhoneNumberFilter;
}
/** A filter to be used against many `PrincipalEntity` object types. All fields are combined with a logical ‘and.’ */
export interface UserToManyPrincipalEntityFilter {
    /** Filters to entities where every related entity matches. */
    every?: PrincipalEntityFilter;
    /** Filters to entities where no related entity matches. */
    none?: PrincipalEntityFilter;
    /** Filters to entities where at least one related entity matches. */
    some?: PrincipalEntityFilter;
}
/** A filter to be used against many `Principal` object types. All fields are combined with a logical ‘and.’ */
export interface UserToManyPrincipalFilter {
    /** Filters to entities where every related entity matches. */
    every?: PrincipalFilter;
    /** Filters to entities where no related entity matches. */
    none?: PrincipalFilter;
    /** Filters to entities where at least one related entity matches. */
    some?: PrincipalFilter;
}
/** A filter to be used against many `WebauthnCredential` object types. All fields are combined with a logical ‘and.’ */
export interface UserToManyWebauthnCredentialFilter {
    /** Filters to entities where every related entity matches. */
    every?: WebauthnCredentialFilter;
    /** Filters to entities where no related entity matches. */
    none?: WebauthnCredentialFilter;
    /** Filters to entities where at least one related entity matches. */
    some?: WebauthnCredentialFilter;
}
export interface VerifyEmailInput {
    clientMutationId?: string;
    emailId?: string;
    token?: string;
}
export interface VerifyPasswordInput {
    clientMutationId?: string;
    password: string;
}
export interface VerifyTotpInput {
    clientMutationId?: string;
    totpValue: string;
}
/** A filter to be used against `WebauthnCredential` object types. All fields are combined with a logical ‘and.’ */
export interface WebauthnCredentialFilter {
    /** Checks for all expressions in this list. */
    and?: WebauthnCredentialFilter[];
    /** Filter by the object’s `backupEligible` field. */
    backupEligible?: BooleanFilter;
    /** Filter by the object’s `backupState` field. */
    backupState?: BooleanFilter;
    /** Filter by the object’s `createdAt` field. */
    createdAt?: DatetimeFilter;
    /** Filter by the object’s `credentialDeviceType` field. */
    credentialDeviceType?: StringFilter;
    /** Filter by the object’s `credentialId` field. */
    credentialId?: StringFilter;
    /** Filter by the object’s `id` field. */
    id?: UUIDFilter;
    /** Filter by the object’s `lastUsedAt` field. */
    lastUsedAt?: DatetimeFilter;
    /** Filter by the object’s `name` field. */
    name?: StringFilter;
    /** Negates the expression. */
    not?: WebauthnCredentialFilter;
    /** Checks for any expressions in this list. */
    or?: WebauthnCredentialFilter[];
    /** Filter by the object’s `owner` relation. */
    owner?: UserFilter;
    /** Filter by the object’s `ownerId` field. */
    ownerId?: UUIDFilter;
    /** Filter by the object’s `publicKey` field. */
    publicKey?: Base64EncodedBinaryFilter;
    /** Filter by the object’s `signCount` field. */
    signCount?: BigIntFilter;
    /** Filter by the object’s `transports` field. */
    transports?: StringListFilter;
    /** Filter by the object’s `updatedAt` field. */
    updatedAt?: DatetimeFilter;
    /** Filter by the object’s `webauthnUserId` field. */
    webauthnUserId?: StringFilter;
}
/** An input for mutations affecting `WebauthnCredential` */
export interface WebauthnCredentialInput {
    /** Whether this credential is eligible for backup (syncing) per the authenticator's flags at registration. */
    backupEligible?: boolean;
    /** Current backup state; updated on each successful sign-in assertion. */
    backupState?: boolean;
    createdAt?: string;
    /** Either 'singleDevice' (hardware-bound) or 'multiDevice' (synced passkey). Enforced by CHECK constraint below. */
    credentialDeviceType: string;
    /** Base64url-encoded credential ID returned by the authenticator. Globally unique per WebAuthn spec. */
    credentialId: string;
    id?: string;
    /** Timestamp of the most recent successful sign-in assertion using this credential. */
    lastUsedAt?: string;
    /** User-provided label for this credential (e.g. "YubiKey 5C", "iPhone 15"). Renamed via rename_passkey. */
    name?: string;
    ownerId?: string;
    /** COSE-encoded public key bytes from the authenticator attestation. */
    publicKey: Base64EncodedBinary;
    /** Monotonic signature counter. Strict-increase check during sign-in detects cloned credentials. 0 means the authenticator does not implement a counter. */
    signCount?: string;
    /** Authenticator transport hints (e.g. usb, nfc, ble, internal, hybrid). Used to hint browser UI during sign-in. */
    transports?: string[];
    updatedAt?: string;
    /** Random per-user handle sent to authenticators as user.id. Privacy-preserving; NOT the internal user UUID. */
    webauthnUserId: string;
}
/** Represents an update to a `WebauthnCredential`. Fields that are set will be updated. */
export interface WebauthnCredentialPatch {
    /** Whether this credential is eligible for backup (syncing) per the authenticator's flags at registration. */
    backupEligible?: boolean;
    /** Current backup state; updated on each successful sign-in assertion. */
    backupState?: boolean;
    createdAt?: string;
    /** Either 'singleDevice' (hardware-bound) or 'multiDevice' (synced passkey). Enforced by CHECK constraint below. */
    credentialDeviceType?: string;
    /** Base64url-encoded credential ID returned by the authenticator. Globally unique per WebAuthn spec. */
    credentialId?: string;
    id?: string;
    /** Timestamp of the most recent successful sign-in assertion using this credential. */
    lastUsedAt?: string;
    /** User-provided label for this credential (e.g. "YubiKey 5C", "iPhone 15"). Renamed via rename_passkey. */
    name?: string;
    ownerId?: string;
    /** COSE-encoded public key bytes from the authenticator attestation. */
    publicKey?: Base64EncodedBinary;
    /** Monotonic signature counter. Strict-increase check during sign-in detects cloned credentials. 0 means the authenticator does not implement a counter. */
    signCount?: string;
    /** Authenticator transport hints (e.g. usb, nfc, ble, internal, hybrid). Used to hint browser UI during sign-in. */
    transports?: string[];
    updatedAt?: string;
    /** Random per-user handle sent to authenticators as user.id. Privacy-preserving; NOT the internal user UUID. */
    webauthnUserId?: string;
}
/** Root meta schema type */
export interface MetaSchema {
    tables: MetaTable[];
}
/** A connection to a list of `AuditLogAuth` values. */
export interface AuditLogAuthConnection {
    edges: AuditLogAuthEdge[];
    nodes: AuditLogAuth[];
    pageInfo: PageInfo;
    totalCount: number;
}
/** A connection to a list of `CryptoAddress` values. */
export interface CryptoAddressConnection {
    edges: CryptoAddressEdge[];
    nodes: CryptoAddress[];
    pageInfo: PageInfo;
    totalCount: number;
}
/** A connection to a list of `Email` values. */
export interface EmailConnection {
    edges: EmailEdge[];
    nodes: Email[];
    pageInfo: PageInfo;
    totalCount: number;
}
/** A connection to a list of `IdentityProvider` values. */
export interface IdentityProviderConnection {
    edges: IdentityProviderEdge[];
    nodes: IdentityProvider[];
    pageInfo: PageInfo;
    totalCount: number;
}
/** A connection to a list of `OrgApiKeyList` values. */
export interface OrgApiKeyListConnection {
    edges: OrgApiKeyListEdge[];
    nodes: OrgApiKeyList[];
    pageInfo: PageInfo;
    totalCount: number;
}
/** A connection to a list of `PhoneNumber` values. */
export interface PhoneNumberConnection {
    edges: PhoneNumberEdge[];
    nodes: PhoneNumber[];
    pageInfo: PageInfo;
    totalCount: number;
}
/** A connection to a list of `PrincipalEntity` values. */
export interface PrincipalEntityConnection {
    edges: PrincipalEntityEdge[];
    nodes: PrincipalEntity[];
    pageInfo: PageInfo;
    totalCount: number;
}
/** A connection to a list of `PrincipalScopeOverride` values. */
export interface PrincipalScopeOverrideConnection {
    edges: PrincipalScopeOverrideEdge[];
    nodes: PrincipalScopeOverride[];
    pageInfo: PageInfo;
    totalCount: number;
}
/** A connection to a list of `Principal` values. */
export interface PrincipalConnection {
    edges: PrincipalEdge[];
    nodes: Principal[];
    pageInfo: PageInfo;
    totalCount: number;
}
/** A connection to a list of `RoleType` values. */
export interface RoleTypeConnection {
    edges: RoleTypeEdge[];
    nodes: RoleType[];
    pageInfo: PageInfo;
    totalCount: number;
}
/** A connection to a list of `UserConnectedAccount` values. */
export interface UserConnectedAccountConnection {
    edges: UserConnectedAccountEdge[];
    nodes: UserConnectedAccount[];
    pageInfo: PageInfo;
    totalCount: number;
}
/** A connection to a list of `User` values. */
export interface UserConnection {
    edges: UserEdge[];
    nodes: User[];
    pageInfo: PageInfo;
    totalCount: number;
}
/** A connection to a list of `WebauthnCredential` values. */
export interface WebauthnCredentialConnection {
    edges: WebauthnCredentialEdge[];
    nodes: WebauthnCredential[];
    pageInfo: PageInfo;
    totalCount: number;
}
export interface CheckPasswordPayload {
    clientMutationId?: string | null;
}
export interface ConfirmDeleteAccountPayload {
    clientMutationId?: string | null;
    result?: boolean | null;
}
export interface CreateApiKeyPayload {
    clientMutationId?: string | null;
    result?: CreateApiKeyRecord | null;
}
export interface CreateAuditLogAuthPayload {
    /** The `AuditLogAuth` that was created by this mutation. */
    auditLogAuth?: AuditLogAuth | null;
    auditLogAuthEdge?: AuditLogAuthEdge | null;
    clientMutationId?: string | null;
}
export interface CreateCryptoAddressPayload {
    clientMutationId?: string | null;
    /** The `CryptoAddress` that was created by this mutation. */
    cryptoAddress?: CryptoAddress | null;
    cryptoAddressEdge?: CryptoAddressEdge | null;
}
export interface CreateEmailPayload {
    clientMutationId?: string | null;
    /** The `Email` that was created by this mutation. */
    email?: Email | null;
    emailEdge?: EmailEdge | null;
}
export interface CreateOrgApiKeyPayload {
    clientMutationId?: string | null;
    result?: CreateOrgApiKeyRecord | null;
}
export interface CreateOrgPrincipalPayload {
    clientMutationId?: string | null;
    result?: string | null;
}
export interface CreatePhoneNumberPayload {
    clientMutationId?: string | null;
    /** The `PhoneNumber` that was created by this mutation. */
    phoneNumber?: PhoneNumber | null;
    phoneNumberEdge?: PhoneNumberEdge | null;
}
export interface CreatePrincipalPayload {
    clientMutationId?: string | null;
    result?: string | null;
}
export interface CreatePrincipalEntityPayload {
    clientMutationId?: string | null;
    /** The `PrincipalEntity` that was created by this mutation. */
    principalEntity?: PrincipalEntity | null;
    principalEntityEdge?: PrincipalEntityEdge | null;
}
export interface CreateRoleTypePayload {
    clientMutationId?: string | null;
    /** The `RoleType` that was created by this mutation. */
    roleType?: RoleType | null;
    roleTypeEdge?: RoleTypeEdge | null;
}
export interface CreateUserPayload {
    clientMutationId?: string | null;
    /** The `User` that was created by this mutation. */
    user?: User | null;
    userEdge?: UserEdge | null;
}
export interface CreateWebauthnCredentialPayload {
    clientMutationId?: string | null;
    /** The `WebauthnCredential` that was created by this mutation. */
    webauthnCredential?: WebauthnCredential | null;
    webauthnCredentialEdge?: WebauthnCredentialEdge | null;
}
export interface DeleteAuditLogAuthPayload {
    /** The `AuditLogAuth` that was deleted by this mutation. */
    auditLogAuth?: AuditLogAuth | null;
    auditLogAuthEdge?: AuditLogAuthEdge | null;
    clientMutationId?: string | null;
}
export interface DeleteCryptoAddressPayload {
    clientMutationId?: string | null;
    /** The `CryptoAddress` that was deleted by this mutation. */
    cryptoAddress?: CryptoAddress | null;
    cryptoAddressEdge?: CryptoAddressEdge | null;
}
export interface DeleteEmailPayload {
    clientMutationId?: string | null;
    /** The `Email` that was deleted by this mutation. */
    email?: Email | null;
    emailEdge?: EmailEdge | null;
}
export interface DeleteOrgPrincipalPayload {
    clientMutationId?: string | null;
    result?: boolean | null;
}
export interface DeletePhoneNumberPayload {
    clientMutationId?: string | null;
    /** The `PhoneNumber` that was deleted by this mutation. */
    phoneNumber?: PhoneNumber | null;
    phoneNumberEdge?: PhoneNumberEdge | null;
}
export interface DeletePrincipalPayload {
    clientMutationId?: string | null;
    result?: boolean | null;
}
export interface DeletePrincipalEntityPayload {
    clientMutationId?: string | null;
    /** The `PrincipalEntity` that was deleted by this mutation. */
    principalEntity?: PrincipalEntity | null;
    principalEntityEdge?: PrincipalEntityEdge | null;
}
export interface DeleteRoleTypePayload {
    clientMutationId?: string | null;
    /** The `RoleType` that was deleted by this mutation. */
    roleType?: RoleType | null;
    roleTypeEdge?: RoleTypeEdge | null;
}
export interface DeleteUserPayload {
    clientMutationId?: string | null;
    /** The `User` that was deleted by this mutation. */
    user?: User | null;
    userEdge?: UserEdge | null;
}
export interface DeleteWebauthnCredentialPayload {
    clientMutationId?: string | null;
    /** The `WebauthnCredential` that was deleted by this mutation. */
    webauthnCredential?: WebauthnCredential | null;
    webauthnCredentialEdge?: WebauthnCredentialEdge | null;
}
export interface DisconnectAccountPayload {
    clientMutationId?: string | null;
    result?: boolean | null;
}
export interface ExtendTokenExpiresPayload {
    clientMutationId?: string | null;
    result?: ExtendTokenExpiresRecord[] | null;
}
export interface ForgotPasswordPayload {
    clientMutationId?: string | null;
}
export interface LinkIdentityPayload {
    clientMutationId?: string | null;
    result?: boolean | null;
}
export interface ProvisionBucketPayload {
    /** The access type applied */
    accessType: string;
    /** The S3 bucket name that was provisioned */
    bucketName: string;
    /** The S3 endpoint (null for AWS S3 default) */
    endpoint?: string | null;
    /** Error message if provisioning failed */
    error?: string | null;
    /** The storage provider used */
    provider: string;
    /** Whether provisioning succeeded */
    success: boolean;
}
export interface ProvisionNewUserPayload {
    clientMutationId?: string | null;
    result?: string | null;
}
export interface RequestCrossOriginTokenPayload {
    clientMutationId?: string | null;
    result?: string | null;
}
export interface ResetPasswordPayload {
    clientMutationId?: string | null;
    result?: boolean | null;
}
export interface RevokeApiKeyPayload {
    clientMutationId?: string | null;
    result?: boolean | null;
}
export interface RevokeOrgApiKeyPayload {
    clientMutationId?: string | null;
    result?: boolean | null;
}
export interface RevokeSessionPayload {
    clientMutationId?: string | null;
    result?: boolean | null;
}
export interface SendAccountDeletionEmailPayload {
    clientMutationId?: string | null;
    result?: boolean | null;
}
export interface SendVerificationEmailPayload {
    clientMutationId?: string | null;
    result?: boolean | null;
}
export interface SetPasswordPayload {
    clientMutationId?: string | null;
    result?: boolean | null;
}
export interface SignInPayload {
    clientMutationId?: string | null;
    result?: SignInRecord | null;
}
export interface SignInCrossOriginPayload {
    clientMutationId?: string | null;
    result?: SignInCrossOriginRecord | null;
}
export interface SignInSmsOtpPayload {
    clientMutationId?: string | null;
    result?: SignInSmsOtpRecord | null;
}
export interface SignOutPayload {
    clientMutationId?: string | null;
}
export interface SignUpPayload {
    clientMutationId?: string | null;
    result?: SignUpRecord | null;
}
export interface SignUpSmsPayload {
    clientMutationId?: string | null;
    result?: SignUpSmsRecord | null;
}
export interface UpdateAuditLogAuthPayload {
    /** The `AuditLogAuth` that was updated by this mutation. */
    auditLogAuth?: AuditLogAuth | null;
    auditLogAuthEdge?: AuditLogAuthEdge | null;
    clientMutationId?: string | null;
}
export interface UpdateCryptoAddressPayload {
    clientMutationId?: string | null;
    /** The `CryptoAddress` that was updated by this mutation. */
    cryptoAddress?: CryptoAddress | null;
    cryptoAddressEdge?: CryptoAddressEdge | null;
}
export interface UpdateEmailPayload {
    clientMutationId?: string | null;
    /** The `Email` that was updated by this mutation. */
    email?: Email | null;
    emailEdge?: EmailEdge | null;
}
export interface UpdatePhoneNumberPayload {
    clientMutationId?: string | null;
    /** The `PhoneNumber` that was updated by this mutation. */
    phoneNumber?: PhoneNumber | null;
    phoneNumberEdge?: PhoneNumberEdge | null;
}
export interface UpdatePrincipalEntityPayload {
    clientMutationId?: string | null;
    /** The `PrincipalEntity` that was updated by this mutation. */
    principalEntity?: PrincipalEntity | null;
    principalEntityEdge?: PrincipalEntityEdge | null;
}
export interface UpdateRoleTypePayload {
    clientMutationId?: string | null;
    /** The `RoleType` that was updated by this mutation. */
    roleType?: RoleType | null;
    roleTypeEdge?: RoleTypeEdge | null;
}
export interface UpdateUserPayload {
    clientMutationId?: string | null;
    /** The `User` that was updated by this mutation. */
    user?: User | null;
    userEdge?: UserEdge | null;
}
export interface UpdateWebauthnCredentialPayload {
    clientMutationId?: string | null;
    /** The `WebauthnCredential` that was updated by this mutation. */
    webauthnCredential?: WebauthnCredential | null;
    webauthnCredentialEdge?: WebauthnCredentialEdge | null;
}
export interface VerifyEmailPayload {
    clientMutationId?: string | null;
    result?: boolean | null;
}
export interface VerifyPasswordPayload {
    clientMutationId?: string | null;
    result?: boolean | null;
}
export interface VerifyTotpPayload {
    clientMutationId?: string | null;
    result?: boolean | null;
}
/** Information about a database table */
export interface MetaTable {
    constraints: MetaConstraints;
    fields: MetaField[];
    foreignKeyConstraints: MetaForeignKeyConstraint[];
    /** i18n metadata (null if no @i18n tag) */
    i18n?: MetaI18n | null;
    indexes: MetaIndex[];
    inflection: MetaInflection;
    name: string;
    primaryKeyConstraints: MetaPrimaryKeyConstraint[];
    query: MetaQuery;
    /** Realtime metadata (null if no @realtime tag) */
    realtime?: MetaRealtime | null;
    relations: MetaRelations;
    schemaName: string;
    /** Search metadata (null if no search configured) */
    search?: MetaSearch | null;
    /** Storage metadata (null if not a storage table) */
    storage?: MetaStorage | null;
    uniqueConstraints: MetaUniqueConstraint[];
}
/** A `AuditLogAuth` edge in the connection. */
export interface AuditLogAuthEdge {
    cursor?: string | null;
    /** The `AuditLogAuth` at the end of the edge. */
    node?: AuditLogAuth | null;
}
/** Information about pagination in a connection. */
export interface PageInfo {
    /** When paginating forwards, the cursor to continue. */
    endCursor?: string | null;
    /** When paginating forwards, are there more items? */
    hasNextPage: boolean;
    /** When paginating backwards, are there more items? */
    hasPreviousPage: boolean;
    /** When paginating backwards, the cursor to continue. */
    startCursor?: string | null;
}
/** A `CryptoAddress` edge in the connection. */
export interface CryptoAddressEdge {
    cursor?: string | null;
    /** The `CryptoAddress` at the end of the edge. */
    node?: CryptoAddress | null;
}
/** A `Email` edge in the connection. */
export interface EmailEdge {
    cursor?: string | null;
    /** The `Email` at the end of the edge. */
    node?: Email | null;
}
/** A `IdentityProvider` edge in the connection. */
export interface IdentityProviderEdge {
    cursor?: string | null;
    /** The `IdentityProvider` at the end of the edge. */
    node?: IdentityProvider | null;
}
/** A `OrgApiKeyList` edge in the connection. */
export interface OrgApiKeyListEdge {
    cursor?: string | null;
    /** The `OrgApiKeyList` at the end of the edge. */
    node?: OrgApiKeyList | null;
}
/** A `PhoneNumber` edge in the connection. */
export interface PhoneNumberEdge {
    cursor?: string | null;
    /** The `PhoneNumber` at the end of the edge. */
    node?: PhoneNumber | null;
}
/** A `PrincipalEntity` edge in the connection. */
export interface PrincipalEntityEdge {
    cursor?: string | null;
    /** The `PrincipalEntity` at the end of the edge. */
    node?: PrincipalEntity | null;
}
/** A `PrincipalScopeOverride` edge in the connection. */
export interface PrincipalScopeOverrideEdge {
    cursor?: string | null;
    /** The `PrincipalScopeOverride` at the end of the edge. */
    node?: PrincipalScopeOverride | null;
}
/** A `Principal` edge in the connection. */
export interface PrincipalEdge {
    cursor?: string | null;
    /** The `Principal` at the end of the edge. */
    node?: Principal | null;
}
/** A `RoleType` edge in the connection. */
export interface RoleTypeEdge {
    cursor?: string | null;
    /** The `RoleType` at the end of the edge. */
    node?: RoleType | null;
}
/** A `UserConnectedAccount` edge in the connection. */
export interface UserConnectedAccountEdge {
    cursor?: string | null;
    /** The `UserConnectedAccount` at the end of the edge. */
    node?: UserConnectedAccount | null;
}
/** A `User` edge in the connection. */
export interface UserEdge {
    cursor?: string | null;
    /** The `User` at the end of the edge. */
    node?: User | null;
}
/** A `WebauthnCredential` edge in the connection. */
export interface WebauthnCredentialEdge {
    cursor?: string | null;
    /** The `WebauthnCredential` at the end of the edge. */
    node?: WebauthnCredential | null;
}
export interface CreateApiKeyRecord {
    apiKey?: string | null;
    expiresAt?: string | null;
    keyId?: string | null;
}
export interface CreateOrgApiKeyRecord {
    apiKey?: string | null;
    expiresAt?: string | null;
    keyId?: string | null;
}
export interface ExtendTokenExpiresRecord {
    expiresAt?: string | null;
    id?: string | null;
    sessionId?: string | null;
}
export interface SignInRecord {
    accessToken?: string | null;
    accessTokenExpiresAt?: string | null;
    id?: string | null;
    isVerified?: boolean | null;
    mfaChallengeToken?: string | null;
    mfaRequired?: boolean | null;
    totpEnabled?: boolean | null;
    userId?: string | null;
}
export interface SignInCrossOriginRecord {
    accessToken?: string | null;
    accessTokenExpiresAt?: string | null;
    id?: string | null;
    isVerified?: boolean | null;
    totpEnabled?: boolean | null;
    userId?: string | null;
}
export interface SignInSmsOtpRecord {
    accessToken?: string | null;
    accessTokenExpiresAt?: string | null;
    userId?: string | null;
}
export interface SignUpRecord {
    accessToken?: string | null;
    accessTokenExpiresAt?: string | null;
    id?: string | null;
    isVerified?: boolean | null;
    totpEnabled?: boolean | null;
    userId?: string | null;
}
export interface SignUpSmsRecord {
    accessToken?: string | null;
    accessTokenExpiresAt?: string | null;
    userId?: string | null;
}
/** Table constraints */
export interface MetaConstraints {
    foreignKey: MetaForeignKeyConstraint[];
    primaryKey?: MetaPrimaryKeyConstraint | null;
    unique: MetaUniqueConstraint[];
}
/** Information about a table field/column */
export interface MetaField {
    description?: string | null;
    /** Enum metadata if this field has an enum type */
    enumValues?: MetaEnum | null;
    hasDefault: boolean;
    isForeignKey: boolean;
    isNotNull: boolean;
    isPrimaryKey: boolean;
    name: string;
    type: MetaType;
}
/** Information about a foreign key constraint */
export interface MetaForeignKeyConstraint {
    fields: MetaField[];
    name: string;
    refFields?: MetaField[] | null;
    refTable?: MetaRefTable | null;
    referencedFields: string[];
    referencedTable: string;
}
/** i18n metadata for a table with @i18n tag */
export interface MetaI18n {
    /** Fields that are translatable */
    translatableFields: MetaI18nField[];
    /** Name of the translation table */
    translationTable: string;
}
/** Information about a database index */
export interface MetaIndex {
    columns: string[];
    fields?: MetaField[] | null;
    isPrimary: boolean;
    isUnique: boolean;
    name: string;
}
/** Table inflection names */
export interface MetaInflection {
    allRows: string;
    conditionType: string;
    connection: string;
    createInputType: string;
    createPayloadType: string;
    deletePayloadType: string;
    edge: string;
    filterType?: string | null;
    orderByType: string;
    patchType?: string | null;
    tableType: string;
    updatePayloadType?: string | null;
}
/** Information about a primary key constraint */
export interface MetaPrimaryKeyConstraint {
    fields: MetaField[];
    name: string;
}
/** Table query/mutation names */
export interface MetaQuery {
    all: string;
    create?: string | null;
    delete?: string | null;
    one?: string | null;
    update?: string | null;
}
/** Realtime metadata for a table with @realtime tag */
export interface MetaRealtime {
    /** The generated subscription field name (e.g. onPostChanged) */
    subscriptionFieldName: string;
}
/** Table relations */
export interface MetaRelations {
    belongsTo: MetaBelongsToRelation[];
    has: MetaHasRelation[];
    hasMany: MetaHasRelation[];
    hasOne: MetaHasRelation[];
    manyToMany: MetaManyToManyRelation[];
}
/** Search metadata for a table */
export interface MetaSearch {
    /** Active search algorithms on this table */
    algorithms: string[];
    /** Searchable columns with their algorithm */
    columns: MetaSearchColumn[];
    /** Per-table search configuration */
    config?: MetaSearchConfig | null;
    /** Whether unifiedSearch composite filter is available */
    hasUnifiedSearch: boolean;
}
/** Storage metadata for a table */
export interface MetaStorage {
    /** Whether this table is a storage buckets table */
    isBucketsTable: boolean;
    /** Whether this table is a storage files table */
    isFilesTable: boolean;
}
/** Information about a unique constraint */
export interface MetaUniqueConstraint {
    fields: MetaField[];
    name: string;
}
/** Information about a PostgreSQL enum type */
export interface MetaEnum {
    /** The PostgreSQL enum type name */
    name: string;
    /** Allowed values for this enum */
    values: string[];
}
/** Information about a PostgreSQL type */
export interface MetaType {
    gqlType: string;
    hasDefault?: boolean | null;
    isArray: boolean;
    isNotNull?: boolean | null;
    pgType: string;
    subtype?: string | null;
}
/** Reference to a related table */
export interface MetaRefTable {
    name: string;
}
/** A translatable field */
export interface MetaI18nField {
    /** GraphQL field name */
    name: string;
    /** PostgreSQL column type (text, citext) */
    type: string;
}
/** A belongs-to (forward FK) relation */
export interface MetaBelongsToRelation {
    fieldName?: string | null;
    isUnique: boolean;
    keys: MetaField[];
    references: MetaRefTable;
    type?: string | null;
}
/** A has-one or has-many (reverse FK) relation */
export interface MetaHasRelation {
    fieldName?: string | null;
    isUnique: boolean;
    keys: MetaField[];
    referencedBy: MetaRefTable;
    type?: string | null;
}
/** A many-to-many relation via junction table */
export interface MetaManyToManyRelation {
    fieldName?: string | null;
    junctionLeftConstraint: MetaForeignKeyConstraint;
    junctionLeftKeyAttributes: MetaField[];
    junctionRightConstraint: MetaForeignKeyConstraint;
    junctionRightKeyAttributes: MetaField[];
    junctionTable: MetaRefTable;
    leftKeyAttributes: MetaField[];
    rightKeyAttributes: MetaField[];
    rightTable: MetaRefTable;
    type?: string | null;
}
/** A searchable column with its algorithm */
export interface MetaSearchColumn {
    /** Search algorithm: tsvector, bm25, trgm, or vector */
    algorithm: string;
    /** Column name (camelCase) */
    name: string;
}
/** Per-table search configuration from @searchConfig smart tag */
export interface MetaSearchConfig {
    /** Exponential decay factor per day */
    boostRecencyDecay?: number | null;
    /** Field used for recency decay */
    boostRecencyField?: string | null;
    /** Whether recency boosting is enabled */
    boostRecent: boolean;
    /** JSON-encoded per-adapter score weights */
    weights?: string | null;
}
