zammad/zammad

View on GitHub
app/frontend/shared/graphql/types.ts

Summary

Maintainability
F
3 mos
Test Coverage
export type Maybe<T> = T | null;
export type InputMaybe<T> = Maybe<T>;
export type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };
export type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };
export type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };
export type MakeEmpty<T extends { [key: string]: unknown }, K extends keyof T> = { [_ in K]?: never };
export type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };
/** All built-in and custom scalars, mapped to their actual values */
export type Scalars = {
  ID: { input: string; output: string; }
  String: { input: string; output: string; }
  Boolean: { input: boolean; output: boolean; }
  Int: { input: number; output: number; }
  Float: { input: number; output: number; }
  BinaryString: { input: string; output: string; }
  FormId: { input: string; output: string; }
  ISO8601Date: { input: string; output: string; }
  ISO8601DateTime: { input: string; output: string; }
  JSON: { input: any; output: any; }
  NonEmptyString: { input: string; output: string; }
  UriHttpString: { input: any; output: any; }
};

/** Autogenerated return type of AccountAvatarAdd. */
export type AccountAvatarAddPayload = {
  __typename?: 'AccountAvatarAddPayload';
  /** The newly created avatar. */
  avatar?: Maybe<Avatar>;
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
};

/** Autogenerated return type of AccountAvatarDelete. */
export type AccountAvatarDeletePayload = {
  __typename?: 'AccountAvatarDeletePayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** Was the avatar deletion successful? */
  success: Scalars['Boolean']['output'];
};

/** Autogenerated return type of AccountLocale. */
export type AccountLocalePayload = {
  __typename?: 'AccountLocalePayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** Was the update successful? */
  success: Scalars['Boolean']['output'];
};

/** Objects used to build activity message */
export type ActivityMessageMetaObject = DataPrivacyTask | Group | Organization | Role | Ticket | TicketArticle | User;

/** A field which may contain one or more email or other addresses. */
export type AddressesField = {
  __typename?: 'AddressesField';
  /** If email addresses were found and parseable, this will hold the parsed result. */
  parsed?: Maybe<Array<EmailAddressParsed>>;
  /** Unparsed content of the addresses field. */
  raw: Scalars['String']['output'];
};

/** Autogenerated return type of AdminPasswordAuthSend. */
export type AdminPasswordAuthSendPayload = {
  __typename?: 'AdminPasswordAuthSendPayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** This indicates if sending the token was successful. */
  success?: Maybe<Scalars['Boolean']['output']>;
};

/** Autogenerated return type of AdminPasswordAuthVerify. */
export type AdminPasswordAuthVerifyPayload = {
  __typename?: 'AdminPasswordAuthVerifyPayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** Login of the user */
  login?: Maybe<Scalars['String']['output']>;
};

/** Autogenerated return type of AppMaintenance. */
export type AppMaintenancePayload = {
  __typename?: 'AppMaintenancePayload';
  /** Maintenance type, may trigger actions in the front end */
  type?: Maybe<EnumAppMaintenanceType>;
};

/** Represents the attachment attributes to be used e.g. in ticket create/update. */
export type AttachmentInput = {
  /** The attached files. */
  files: Array<UploadFileInput>;
  /** FormID for the attached files. */
  formId: Scalars['FormId']['input'];
};

/** Authorization for an account linked to a user */
export type Authorization = {
  __typename?: 'Authorization';
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  id: Scalars['ID']['output'];
  provider: Scalars['String']['output'];
  uid: Scalars['String']['output'];
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
  username?: Maybe<Scalars['String']['output']>;
};

/** Type that represents an autocomplete entry with a string value. */
export type AutocompleteSearchEntry = {
  __typename?: 'AutocompleteSearchEntry';
  disabled?: Maybe<Scalars['Boolean']['output']>;
  heading?: Maybe<Scalars['String']['output']>;
  headingPlaceholder?: Maybe<Array<Scalars['String']['output']>>;
  icon?: Maybe<Scalars['String']['output']>;
  label: Scalars['String']['output'];
  labelPlaceholder?: Maybe<Array<Scalars['String']['output']>>;
  value: Scalars['String']['output'];
};

/** Type that represents an autocomplete entry with an external data source value. */
export type AutocompleteSearchExternalDataSourceEntry = {
  __typename?: 'AutocompleteSearchExternalDataSourceEntry';
  disabled?: Maybe<Scalars['Boolean']['output']>;
  heading?: Maybe<Scalars['String']['output']>;
  headingPlaceholder?: Maybe<Array<Scalars['String']['output']>>;
  icon?: Maybe<Scalars['String']['output']>;
  label: Scalars['String']['output'];
  labelPlaceholder?: Maybe<Array<Scalars['String']['output']>>;
  value: Scalars['JSON']['output'];
};

/** The default fields for autocomplete searches. */
export type AutocompleteSearchInput = {
  /** Limit for the amount of entries */
  limit?: InputMaybe<Scalars['Int']['input']>;
  /** Query from the autocomplete field */
  query: Scalars['String']['input'];
};

/** Type that represents an autocomplete merge ticket entry. */
export type AutocompleteSearchMergeTicketEntry = {
  __typename?: 'AutocompleteSearchMergeTicketEntry';
  disabled?: Maybe<Scalars['Boolean']['output']>;
  heading?: Maybe<Scalars['String']['output']>;
  headingPlaceholder?: Maybe<Array<Scalars['String']['output']>>;
  icon?: Maybe<Scalars['String']['output']>;
  label: Scalars['String']['output'];
  labelPlaceholder?: Maybe<Array<Scalars['String']['output']>>;
  ticket: Ticket;
  value: Scalars['String']['output'];
};

/** The default fields for merge ticket autocomplete searches. */
export type AutocompleteSearchMergeTicketInput = {
  /** Limit for the amount of entries */
  limit?: InputMaybe<Scalars['Int']['input']>;
  /** Query from the autocomplete field */
  query: Scalars['String']['input'];
  /** Ticket ID */
  sourceTicketId?: InputMaybe<Scalars['ID']['input']>;
};

/** The default fields for object attribute external data source autocomplete searches. */
export type AutocompleteSearchObjectAttributeExternalDataSourceInput = {
  /** Name of the object attribute */
  attributeName: Scalars['String']['input'];
  /** Limit for the amount of entries */
  limit?: InputMaybe<Scalars['Int']['input']>;
  /** Object name of the object attribute, e.g. Ticket */
  object: EnumObjectManagerObjects;
  /** Query from the autocomplete field */
  query: Scalars['String']['input'];
  /** Context data for the search url rendering, e.g. customer data. */
  templateRenderContext: TemplateRenderContextInput;
};

/** Type that represents an autocomplete organization entry. */
export type AutocompleteSearchOrganizationEntry = {
  __typename?: 'AutocompleteSearchOrganizationEntry';
  disabled?: Maybe<Scalars['Boolean']['output']>;
  heading?: Maybe<Scalars['String']['output']>;
  headingPlaceholder?: Maybe<Array<Scalars['String']['output']>>;
  icon?: Maybe<Scalars['String']['output']>;
  label: Scalars['String']['output'];
  labelPlaceholder?: Maybe<Array<Scalars['String']['output']>>;
  organization: Organization;
  value: Scalars['Int']['output'];
};

/** The default fields for organization autocomplete searches. */
export type AutocompleteSearchOrganizationInput = {
  /** Customer ID to filter the organizations by */
  customerId?: InputMaybe<Scalars['ID']['input']>;
  /** Limit for the amount of entries */
  limit?: InputMaybe<Scalars['Int']['input']>;
  /** Query from the autocomplete field */
  query: Scalars['String']['input'];
};

/** Type that represents an autocomplete recipient entry. */
export type AutocompleteSearchRecipientEntry = {
  __typename?: 'AutocompleteSearchRecipientEntry';
  disabled?: Maybe<Scalars['Boolean']['output']>;
  heading?: Maybe<Scalars['String']['output']>;
  headingPlaceholder?: Maybe<Array<Scalars['String']['output']>>;
  icon?: Maybe<Scalars['String']['output']>;
  label: Scalars['String']['output'];
  labelPlaceholder?: Maybe<Array<Scalars['String']['output']>>;
  user: User;
  value: Scalars['String']['output'];
};

/** The default fields for recipient autocomplete searches. */
export type AutocompleteSearchRecipientInput = {
  /** User contact type option, i.e. email or phone */
  contact?: InputMaybe<EnumUserContact>;
  /** Limit for the amount of entries */
  limit?: InputMaybe<Scalars['Int']['input']>;
  /** Query from the autocomplete field */
  query: Scalars['String']['input'];
};

/** Type that represents an autocomplete user entry. */
export type AutocompleteSearchUserEntry = {
  __typename?: 'AutocompleteSearchUserEntry';
  disabled?: Maybe<Scalars['Boolean']['output']>;
  heading?: Maybe<Scalars['String']['output']>;
  headingPlaceholder?: Maybe<Array<Scalars['String']['output']>>;
  icon?: Maybe<Scalars['String']['output']>;
  label: Scalars['String']['output'];
  labelPlaceholder?: Maybe<Array<Scalars['String']['output']>>;
  user: User;
  value: Scalars['Int']['output'];
};

/** Avatar for users */
export type Avatar = {
  __typename?: 'Avatar';
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  /** User that created this record */
  createdBy?: Maybe<User>;
  default: Scalars['Boolean']['output'];
  deletable: Scalars['Boolean']['output'];
  id: Scalars['ID']['output'];
  imageFull?: Maybe<Scalars['String']['output']>;
  imageResize?: Maybe<Scalars['String']['output']>;
  initial: Scalars['Boolean']['output'];
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
  /** Last user that updated this record */
  updatedBy?: Maybe<User>;
};

/** The fields for uploading a new avatar. */
export type AvatarInput = {
  /** The original image to use for the avatar. */
  original: UploadFileInput;
  /** The resized/cropped image to use for the avatar. */
  resized: UploadFileInput;
};

/** Channels */
export type Channel = {
  __typename?: 'Channel';
  active: Scalars['Boolean']['output'];
  area: Scalars['String']['output'];
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  /** User that created this record */
  createdBy?: Maybe<User>;
  /** resolver for Rails' belongs_to relationship */
  group?: Maybe<Group>;
  id: Scalars['ID']['output'];
  lastLogIn?: Maybe<Scalars['String']['output']>;
  lastLogOut?: Maybe<Scalars['String']['output']>;
  options?: Maybe<Scalars['JSON']['output']>;
  preferences?: Maybe<Scalars['JSON']['output']>;
  statusIn?: Maybe<Scalars['String']['output']>;
  statusOut?: Maybe<Scalars['String']['output']>;
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
  /** Last user that updated this record */
  updatedBy?: Maybe<User>;
};

/** Fields for a new email channel. */
export type ChannelEmailAddInput = {
  /** Sender email address for this channel */
  emailAddress: Scalars['String']['input'];
  /** Sender email realname for this channel */
  emailRealname: Scalars['String']['input'];
  /** Group for this channel */
  groupId?: InputMaybe<Scalars['ID']['input']>;
  /** Configuration to validate */
  inboundConfiguration: ChannelEmailInboundConfigurationInput;
  /** Configuration to validate */
  outboundConfiguration: ChannelEmailOutboundConfigurationInput;
};

/** Autogenerated return type of ChannelEmailAdd. */
export type ChannelEmailAddPayload = {
  __typename?: 'ChannelEmailAddPayload';
  /** The new channel object */
  channel?: Maybe<Channel>;
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
};

/** Autogenerated return type of ChannelEmailGuessConfiguration. */
export type ChannelEmailGuessConfigurationPayload = {
  __typename?: 'ChannelEmailGuessConfigurationPayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** Holds the guessed configurations. */
  result: ChannelEmailGuessConfigurationResult;
};

/** Result for channel configuration guessing. */
export type ChannelEmailGuessConfigurationResult = {
  __typename?: 'ChannelEmailGuessConfigurationResult';
  /** If present, the probing for inbound was successful */
  inboundConfiguration?: Maybe<ChannelEmailInboundConfiguration>;
  /** Inbound mailbox data */
  mailboxStats?: Maybe<ChannelEmailInboundMailboxStats>;
  /** If present, the probing for inbound was successful */
  outboundConfiguration?: Maybe<ChannelEmailOutboundConfiguration>;
};

/** Configuration for an inbound email channel. */
export type ChannelEmailInboundConfiguration = {
  __typename?: 'ChannelEmailInboundConfiguration';
  /** Protocol/adapter for this email channel */
  adapter: EnumChannelEmailInboundAdapter;
  /** IMAP Mailbox folder to fetch emails from */
  folder?: Maybe<Scalars['String']['output']>;
  /** Hostname for the email service to connect to */
  host?: Maybe<Scalars['String']['output']>;
  password?: Maybe<Scalars['String']['output']>;
  port?: Maybe<Scalars['Int']['output']>;
  ssl?: Maybe<EnumChannelEmailSsl>;
  /** Whether to perform SSL verification */
  sslVerify?: Maybe<Scalars['Boolean']['output']>;
  /** Username for the email service to connect with */
  user?: Maybe<Scalars['String']['output']>;
};

/** Configuration for an inbound email channel. */
export type ChannelEmailInboundConfigurationInput = {
  /** Protocol/adapter for this email channel */
  adapter: EnumChannelEmailInboundAdapter;
  /** Whether to perform the email import in archive mode */
  archive?: InputMaybe<Scalars['Boolean']['input']>;
  /** Import mails older than this date in archive mode */
  archiveBefore?: InputMaybe<Scalars['ISO8601DateTime']['input']>;
  /** IMAP Mailbox folder to fetch emails from */
  folder?: InputMaybe<Scalars['String']['input']>;
  /** Hostname for the email service to connect to */
  host: Scalars['String']['input'];
  /** Whether messages should be kept on the IMAP server when fetching */
  keepOnServer?: InputMaybe<Scalars['Boolean']['input']>;
  /** Password for the email service to connect with */
  password: Scalars['String']['input'];
  /** Port for the email service to connect to */
  port: Scalars['Int']['input'];
  /** Whether to use TLS/SSL */
  ssl: EnumChannelEmailSsl;
  /** Whether to perform SSL verification */
  sslVerify?: InputMaybe<Scalars['Boolean']['input']>;
  /** Username for the email service to connect with */
  user: Scalars['String']['input'];
};

/** Inbound mailbox statistics. */
export type ChannelEmailInboundMailboxStats = {
  __typename?: 'ChannelEmailInboundMailboxStats';
  /** Whether an archive import of the email account should be suggested. */
  archivePossible?: Maybe<Scalars['Boolean']['output']>;
  /** There were emails found older than the specified amount of weeks, therefore an archive import should be suggested. */
  archiveWeekRange?: Maybe<Scalars['Int']['output']>;
  /** Number of content emails found during account probing. */
  contentMessages?: Maybe<Scalars['Int']['output']>;
};

/** Configuration for an outbound email channel. */
export type ChannelEmailOutboundConfiguration = {
  __typename?: 'ChannelEmailOutboundConfiguration';
  /** Protocol/adapter for this email channel */
  adapter: EnumChannelEmailOutboundAdapter;
  /** Hostname for the email service to connect to */
  host?: Maybe<Scalars['String']['output']>;
  password?: Maybe<Scalars['String']['output']>;
  port?: Maybe<Scalars['Int']['output']>;
  /** Whether to perform SSL verification */
  sslVerify?: Maybe<Scalars['Boolean']['output']>;
  /** Username for the email service to connect with */
  user?: Maybe<Scalars['String']['output']>;
};

/** Configuration for an outbound email channel. */
export type ChannelEmailOutboundConfigurationInput = {
  /** Protocol/adapter for this email channel */
  adapter: EnumChannelEmailOutboundAdapter;
  /** Hostname for the email service to connect to */
  host?: InputMaybe<Scalars['String']['input']>;
  /** Password for the email service to connect with */
  password?: InputMaybe<Scalars['String']['input']>;
  /** Port for the email service to connect to */
  port?: InputMaybe<Scalars['Int']['input']>;
  /** Whether to perform SSL verification */
  sslVerify?: InputMaybe<Scalars['Boolean']['input']>;
  /** Username for the email service to connect with */
  user?: InputMaybe<Scalars['String']['input']>;
};

/** Autogenerated return type of ChannelEmailSetNotificationConfiguration. */
export type ChannelEmailSetNotificationConfigurationPayload = {
  __typename?: 'ChannelEmailSetNotificationConfigurationPayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** Was the operation successful? */
  success?: Maybe<Scalars['Boolean']['output']>;
};

/** Autogenerated return type of ChannelEmailValidateConfigurationInbound. */
export type ChannelEmailValidateConfigurationInboundPayload = {
  __typename?: 'ChannelEmailValidateConfigurationInboundPayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** Inbound mailbox data */
  mailboxStats?: Maybe<ChannelEmailInboundMailboxStats>;
  /** Was the validation successful? */
  success?: Maybe<Scalars['Boolean']['output']>;
};

/** Autogenerated return type of ChannelEmailValidateConfigurationOutbound. */
export type ChannelEmailValidateConfigurationOutboundPayload = {
  __typename?: 'ChannelEmailValidateConfigurationOutboundPayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** Was the validation successful? */
  success: Scalars['Boolean']['output'];
};

/** Autogenerated return type of ChannelEmailValidateConfigurationRoundtrip. */
export type ChannelEmailValidateConfigurationRoundtripPayload = {
  __typename?: 'ChannelEmailValidateConfigurationRoundtripPayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** Was the validation successful? */
  success: Scalars['Boolean']['output'];
};

/** Autogenerated return type of ConfigUpdates. */
export type ConfigUpdatesPayload = {
  __typename?: 'ConfigUpdatesPayload';
  /** Updated setting */
  setting?: Maybe<KeyComplexValue>;
};

/** Data privacy task type */
export type DataPrivacyTask = {
  __typename?: 'DataPrivacyTask';
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  /** User that created this record */
  createdBy?: Maybe<User>;
  deletableId?: Maybe<Scalars['Int']['output']>;
  deletableType?: Maybe<Scalars['String']['output']>;
  id: Scalars['ID']['output'];
  state?: Maybe<Scalars['String']['output']>;
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
  /** Last user that updated this record */
  updatedBy?: Maybe<User>;
};

/** EmailAddress model instances */
export type EmailAddress = {
  __typename?: 'EmailAddress';
  active: Scalars['Boolean']['output'];
  /** resolver for Rails' belongs_to relationship */
  channel?: Maybe<Channel>;
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  /** User that created this record */
  createdBy?: Maybe<User>;
  email: Scalars['String']['output'];
  id: Scalars['ID']['output'];
  name: Scalars['String']['output'];
  /** Internal note */
  note?: Maybe<Scalars['String']['output']>;
  preferences?: Maybe<Scalars['JSON']['output']>;
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
  /** Last user that updated this record */
  updatedBy?: Maybe<User>;
};

/** Represents a parsed email address. */
export type EmailAddressParsed = {
  __typename?: 'EmailAddressParsed';
  /** Email address. */
  emailAddress?: Maybe<Scalars['String']['output']>;
  /** Is email added as system EmailAddress? */
  isSystemAddress: Scalars['Boolean']['output'];
  /** Display name + comment part of email (if any). */
  name?: Maybe<Scalars['String']['output']>;
};

/** Possible AfterAuth message types */
export enum EnumAfterAuthType {
  /** TwoFactorConfiguration */
  TwoFactorConfiguration = 'TwoFactorConfiguration'
}

/** Possible AppVersion messages */
export enum EnumAppMaintenanceType {
  /** A new version of the app is available. */
  AppVersion = 'app_version',
  /** The app configuration has changed. */
  ConfigChanged = 'config_changed',
  /** App is restarting. */
  RestartAuto = 'restart_auto',
  /** App needs a restart. */
  RestartManual = 'restart_manual'
}

/** The channel area type */
export enum EnumChannelArea {
  WhatsAppBusiness = 'WhatsApp__Business'
}

/** Inbound email protocols/adapters */
export enum EnumChannelEmailInboundAdapter {
  Imap = 'imap',
  Pop3 = 'pop3'
}

/** Outbound email protocols/adapters */
export enum EnumChannelEmailOutboundAdapter {
  Sendmail = 'sendmail',
  Smtp = 'smtp'
}

/** Possible values for email SSL/TLS transport security */
export enum EnumChannelEmailSsl {
  Off = 'off',
  Ssl = 'ssl',
  Starttls = 'starttls'
}

/** All available form updaters */
export enum EnumFormUpdaterId {
  FormUpdaterUpdaterGuidedSetupEmailInbound = 'FormUpdater__Updater__GuidedSetup__EmailInbound',
  FormUpdaterUpdaterGuidedSetupEmailNotification = 'FormUpdater__Updater__GuidedSetup__EmailNotification',
  FormUpdaterUpdaterGuidedSetupEmailOutbound = 'FormUpdater__Updater__GuidedSetup__EmailOutbound',
  FormUpdaterUpdaterOrganizationEdit = 'FormUpdater__Updater__Organization__Edit',
  FormUpdaterUpdaterTicketCreate = 'FormUpdater__Updater__Ticket__Create',
  FormUpdaterUpdaterTicketEdit = 'FormUpdater__Updater__Ticket__Edit',
  FormUpdaterUpdaterUserCreate = 'FormUpdater__Updater__User__Create',
  FormUpdaterUpdaterUserEdit = 'FormUpdater__Updater__User__Edit',
  FormUpdaterUpdaterUserInvite = 'FormUpdater__Updater__User__Invite'
}

/** All backend managed objects */
export enum EnumObjectManagerObjects {
  Group = 'Group',
  Organization = 'Organization',
  Ticket = 'Ticket',
  TicketArticle = 'TicketArticle',
  User = 'User'
}

/** Option to choose SQL sorting direction */
export enum EnumOrderDirection {
  /** Sort with ascending order */
  Ascending = 'ASCENDING',
  /** Sort with descending order */
  Descending = 'DESCENDING'
}

/** Different user access levels */
export enum EnumPermissionAccess {
  Change = 'change',
  Create = 'create',
  Full = 'full',
  Overview = 'overview',
  Read = 'read'
}

/** All available public links screens */
export enum EnumPublicLinksScreen {
  Login = 'login',
  PasswordReset = 'password_reset',
  Signup = 'signup'
}

/** All searchable models */
export enum EnumSearchableModels {
  Organization = 'Organization',
  Ticket = 'Ticket',
  User = 'User'
}

/** Ticket article security options for email security methods */
export enum EnumSecurityOption {
  /** Encrypt article */
  Encryption = 'encryption',
  /** Sign article */
  Sign = 'sign'
}

/** Available email security methods */
export enum EnumSecurityStateType {
  /** PGP */
  Pgp = 'PGP',
  /** S/MIME */
  Smime = 'SMIME'
}

/** Third-party system source */
export enum EnumSystemImportSource {
  Freshdesk = 'freshdesk',
  Kayako = 'kayako',
  Otrs = 'otrs',
  Zendesk = 'zendesk'
}

/** Possible system setup status */
export enum EnumSystemSetupInfoStatus {
  Automated = 'automated',
  Done = 'done',
  InProgress = 'in_progress',
  New = 'new'
}

/** Possible system setup types */
export enum EnumSystemSetupInfoType {
  Auto = 'auto',
  Import = 'import',
  Manual = 'manual'
}

/** All taskbar app values */
export enum EnumTaskbarApp {
  Desktop = 'desktop',
  Mobile = 'mobile'
}

/** Option to choose SQL sorting direction */
export enum EnumTextDirection {
  /** Left-to-right */
  Ltr = 'ltr',
  /** Right-to-left */
  Rtl = 'rtl'
}

/** Ticket state color code */
export enum EnumTicketStateColorCode {
  /** Closed. */
  Closed = 'closed',
  /** Requires urgent attention. */
  Escalating = 'escalating',
  /** Ready for action. */
  Open = 'open',
  /** Marked as pending; no immediate action required. */
  Pending = 'pending'
}

/** Possible two factor authentication methods (availability depends on system configuration) */
export enum EnumTwoFactorAuthenticationMethod {
  /** Authenticator App */
  AuthenticatorApp = 'authenticator_app',
  /** Security Keys */
  SecurityKeys = 'security_keys'
}

/** User contact option */
export enum EnumUserContact {
  /** User email address */
  Email = 'email',
  /** User phone number */
  Phone = 'phone'
}

/** Represents the form changed field information. */
export type FormUpdaterChangedFieldInput = {
  /** Changed field name */
  name: Scalars['String']['input'];
  /** New value from changed field */
  newValue?: InputMaybe<Scalars['JSON']['input']>;
  /** Old value from changed field */
  oldValue?: InputMaybe<Scalars['JSON']['input']>;
};

/** Represents the form meta information. */
export type FormUpdaterMetaInput = {
  /** Changed field information */
  changedField?: InputMaybe<FormUpdaterChangedFieldInput>;
  /** Generated frontend form ID */
  formId: Scalars['FormId']['input'];
  /** Initial form updater request */
  initial?: InputMaybe<Scalars['Boolean']['input']>;
  /** Generated frontend request ID */
  requestId?: InputMaybe<Scalars['String']['input']>;
  /** After form reset form updater request */
  reset?: InputMaybe<Scalars['Boolean']['input']>;
};

/** Represents the relation field information. */
export type FormUpdaterRelationField = {
  /** Optional filter ids from the frontend */
  filterIds?: InputMaybe<Array<Scalars['Int']['input']>>;
  /** Field name of the relation field */
  name: Scalars['String']['input'];
  /** Relation name for the current field (e.g. group) */
  relation: Scalars['String']['input'];
};

/** Autogenerated return type of FormUploadCacheAdd. */
export type FormUploadCacheAddPayload = {
  __typename?: 'FormUploadCacheAddPayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** Information about the uploaded files. */
  uploadedFiles: Array<StoredFile>;
};

/** Autogenerated return type of FormUploadCacheRemove. */
export type FormUploadCacheRemovePayload = {
  __typename?: 'FormUploadCacheRemovePayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** Was the mutation successful? */
  success: Scalars['Boolean']['output'];
};

/** Groups */
export type Group = {
  __typename?: 'Group';
  active: Scalars['Boolean']['output'];
  assignmentTimeout?: Maybe<Scalars['Int']['output']>;
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  /** User that created this record */
  createdBy?: Maybe<User>;
  emailAddress?: Maybe<EmailAddressParsed>;
  followUpAssignment?: Maybe<Scalars['Boolean']['output']>;
  followUpPossible?: Maybe<Scalars['String']['output']>;
  id: Scalars['ID']['output'];
  name?: Maybe<Scalars['String']['output']>;
  /** Internal note */
  note?: Maybe<Scalars['String']['output']>;
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
  /** Last user that updated this record */
  updatedBy?: Maybe<User>;
};

/** The connection type for Group. */
export type GroupConnection = {
  __typename?: 'GroupConnection';
  /** A list of edges. */
  edges: Array<GroupEdge>;
  /** Information to aid in pagination. */
  pageInfo: PageInfo;
  /** Indicates the total number of available records. */
  totalCount: Scalars['Int']['output'];
};

/** An edge in a connection. */
export type GroupEdge = {
  __typename?: 'GroupEdge';
  /** A cursor for use in pagination. */
  cursor: Scalars['String']['output'];
  /** The item at the end of the edge. */
  node: Group;
};

/** Autogenerated return type of GuidedSetupSetSystemInformation. */
export type GuidedSetupSetSystemInformationPayload = {
  __typename?: 'GuidedSetupSetSystemInformationPayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** System setup information updated successfully? */
  success?: Maybe<Scalars['Boolean']['output']>;
};

/** Import job information */
export type ImportJob = {
  __typename?: 'ImportJob';
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  /** User that created this record */
  createdBy?: Maybe<User>;
  finishedAt?: Maybe<Scalars['ISO8601DateTime']['output']>;
  id: Scalars['ID']['output'];
  name: Scalars['String']['output'];
  result?: Maybe<Scalars['JSON']['output']>;
  startedAt?: Maybe<Scalars['ISO8601DateTime']['output']>;
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
  /** Last user that updated this record */
  updatedBy?: Maybe<User>;
};

/** Key/value type with complex (JSON) values. */
export type KeyComplexValue = {
  __typename?: 'KeyComplexValue';
  key: Scalars['String']['output'];
  value?: Maybe<Scalars['JSON']['output']>;
};

/** Key/value type with string values. */
export type KeyValue = {
  __typename?: 'KeyValue';
  key: Scalars['String']['output'];
  value?: Maybe<Scalars['String']['output']>;
};

/** Knowledge Base */
export type KnowledgeBase = {
  __typename?: 'KnowledgeBase';
  active: Scalars['Boolean']['output'];
  categoryLayout: Scalars['String']['output'];
  colorHeader: Scalars['String']['output'];
  colorHeaderLink: Scalars['String']['output'];
  colorHighlight: Scalars['String']['output'];
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  customAddress?: Maybe<Scalars['String']['output']>;
  homepageLayout: Scalars['String']['output'];
  iconset: Scalars['String']['output'];
  id: Scalars['ID']['output'];
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
};

/** Knowledge Base Answer */
export type KnowledgeBaseAnswer = {
  __typename?: 'KnowledgeBaseAnswer';
  archivedAt?: Maybe<Scalars['ISO8601DateTime']['output']>;
  /** resolver for Rails' belongs_to relationship */
  archivedBy?: Maybe<User>;
  /** resolver for Rails' belongs_to relationship */
  category: KnowledgeBaseCategory;
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  /** User that created this record */
  createdBy?: Maybe<User>;
  id: Scalars['ID']['output'];
  internalAt?: Maybe<Scalars['ISO8601DateTime']['output']>;
  /** resolver for Rails' belongs_to relationship */
  internalBy?: Maybe<User>;
  internalNote?: Maybe<Scalars['String']['output']>;
  position: Scalars['Int']['output'];
  promoted?: Maybe<Scalars['Boolean']['output']>;
  publishedAt?: Maybe<Scalars['ISO8601DateTime']['output']>;
  /** resolver for Rails' belongs_to relationship */
  publishedBy?: Maybe<User>;
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
  /** Last user that updated this record */
  updatedBy?: Maybe<User>;
};

/** Autogenerated return type of KnowledgeBaseAnswerSuggestionContentTransform. */
export type KnowledgeBaseAnswerSuggestionContentTransformPayload = {
  __typename?: 'KnowledgeBaseAnswerSuggestionContentTransformPayload';
  /** Attachments of the answer */
  attachments?: Maybe<Array<StoredFile>>;
  /** Answer translation content */
  body?: Maybe<Scalars['String']['output']>;
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
};

/** Knowledge Base Answer Translation */
export type KnowledgeBaseAnswerTranslation = {
  __typename?: 'KnowledgeBaseAnswerTranslation';
  /** resolver for Rails' belongs_to relationship */
  answer: KnowledgeBaseAnswer;
  categoryTreeTranslation: Array<KnowledgeBaseCategoryTranslation>;
  /** resolver for Rails' belongs_to relationship */
  content: KnowledgeBaseAnswerTranslationContent;
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  /** User that created this record */
  createdBy?: Maybe<User>;
  id: Scalars['ID']['output'];
  /** resolver for Rails' belongs_to relationship */
  kbLocale: KnowledgeBaseLocale;
  title: Scalars['String']['output'];
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
  /** Last user that updated this record */
  updatedBy?: Maybe<User>;
};

/** Knowledge Base Answer Translation Content */
export type KnowledgeBaseAnswerTranslationContent = {
  __typename?: 'KnowledgeBaseAnswerTranslationContent';
  body?: Maybe<Scalars['String']['output']>;
  bodyPrepared?: Maybe<Scalars['String']['output']>;
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  hasAttachments: Scalars['Boolean']['output'];
  id: Scalars['ID']['output'];
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
};

/** Knowledge Base Category */
export type KnowledgeBaseCategory = {
  __typename?: 'KnowledgeBaseCategory';
  categoryIcon: Scalars['String']['output'];
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  id: Scalars['ID']['output'];
  /** resolver for Rails' belongs_to relationship */
  knowledgeBase: KnowledgeBase;
  /** resolver for Rails' belongs_to relationship */
  parent?: Maybe<KnowledgeBaseCategory>;
  position: Scalars['Int']['output'];
  translations: Array<KnowledgeBaseCategoryTranslation>;
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
};

/** Knowledge Base Category Translation */
export type KnowledgeBaseCategoryTranslation = {
  __typename?: 'KnowledgeBaseCategoryTranslation';
  /** resolver for Rails' belongs_to relationship */
  category: KnowledgeBaseCategory;
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  id: Scalars['ID']['output'];
  /** resolver for Rails' belongs_to relationship */
  kbLocale: KnowledgeBaseLocale;
  title: Scalars['String']['output'];
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
};

/** Knowledge Base Locale */
export type KnowledgeBaseLocale = {
  __typename?: 'KnowledgeBaseLocale';
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  id: Scalars['ID']['output'];
  /** resolver for Rails' belongs_to relationship */
  knowledgeBase: KnowledgeBase;
  primary: Scalars['Boolean']['output'];
  /** resolver for Rails' belongs_to relationship */
  systemLocale: Locale;
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
};

/** Locales available in the system */
export type Locale = {
  __typename?: 'Locale';
  active: Scalars['Boolean']['output'];
  alias?: Maybe<Scalars['String']['output']>;
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  dir: EnumTextDirection;
  id: Scalars['ID']['output'];
  locale: Scalars['String']['output'];
  name: Scalars['String']['output'];
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
};

/** Locate an organization via id or internalId. */
export type LocatorOrganizationInput = {
  /** Organization ID */
  organizationId?: InputMaybe<Scalars['ID']['input']>;
  /** Organization internalId */
  organizationInternalId?: InputMaybe<Scalars['Int']['input']>;
};

/** Locate a ticket via id, internalId or number. */
export type LocatorTicketInput = {
  /** Ticket ID */
  ticketId?: InputMaybe<Scalars['ID']['input']>;
  /** Ticket internalId */
  ticketInternalId?: InputMaybe<Scalars['Int']['input']>;
  /** Ticket number */
  ticketNumber?: InputMaybe<Scalars['String']['input']>;
};

/** Locate a User via id or internalId. */
export type LocatorUserInput = {
  /** User ID */
  userId?: InputMaybe<Scalars['ID']['input']>;
  /** User internalId */
  userInternalId?: InputMaybe<Scalars['Int']['input']>;
};

/** The user login fields. */
export type LoginInput = {
  /** User name */
  login: Scalars['String']['input'];
  /** Password */
  password: Scalars['String']['input'];
  /** Remember me - Session expire date will be set to one year */
  rememberMe?: InputMaybe<Scalars['Boolean']['input']>;
  /** Two factor authentication */
  twoFactorAuthentication?: InputMaybe<TwoFactorAuthenticationInput>;
  /** Two factor recovery */
  twoFactorRecovery?: InputMaybe<TwoFactorRecoveryInput>;
};

/** Autogenerated return type of Login. */
export type LoginPayload = {
  __typename?: 'LoginPayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** The current session, if the login was successful. */
  session?: Maybe<Session>;
  /** Two factor authentication methods available for the user about to log-in. */
  twoFactorRequired?: Maybe<UserTwoFactorMethods>;
};

/** Autogenerated return type of Logout. */
export type LogoutPayload = {
  __typename?: 'LogoutPayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** External logout URL (e.g. for SAML)? */
  externalLogoutUrl?: Maybe<Scalars['String']['output']>;
  /** Was the logout successful? */
  success: Scalars['Boolean']['output'];
};

/** Mention */
export type Mention = {
  __typename?: 'Mention';
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  /** User that created this record */
  createdBy?: Maybe<User>;
  id: Scalars['ID']['output'];
  /** resolver for Rails' belongs_to relationship */
  mentionable: Ticket;
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
  /** Last user that updated this record */
  updatedBy?: Maybe<User>;
  /** resolver for Rails' belongs_to relationship */
  user: User;
};

/** The connection type for Mention. */
export type MentionConnection = {
  __typename?: 'MentionConnection';
  /** A list of edges. */
  edges: Array<MentionEdge>;
  /** Information to aid in pagination. */
  pageInfo: PageInfo;
  /** Indicates the total number of available records. */
  totalCount: Scalars['Int']['output'];
};

/** An edge in a connection. */
export type MentionEdge = {
  __typename?: 'MentionEdge';
  /** A cursor for use in pagination. */
  cursor: Scalars['String']['output'];
  /** The item at the end of the edge. */
  node: Mention;
};

/** Autogenerated return type of MentionSubscribe. */
export type MentionSubscribePayload = {
  __typename?: 'MentionSubscribePayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** Was the mutation successful? */
  success?: Maybe<Scalars['Boolean']['output']>;
};

/** Autogenerated return type of MentionUnsubscribe. */
export type MentionUnsubscribePayload = {
  __typename?: 'MentionUnsubscribePayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** Was the mutation successful? */
  success?: Maybe<Scalars['Boolean']['output']>;
};

/** All available mutations */
export type Mutations = {
  __typename?: 'Mutations';
  /** Add a new avatar for the currently logged in user. */
  accountAvatarAdd?: Maybe<AccountAvatarAddPayload>;
  /** Delete an existing avatar for the currently logged in user. */
  accountAvatarDelete?: Maybe<AccountAvatarDeletePayload>;
  /** Update the language of the currently logged in user */
  accountLocale?: Maybe<AccountLocalePayload>;
  /** Sends an email with a token to login via password. */
  adminPasswordAuthSend?: Maybe<AdminPasswordAuthSendPayload>;
  /** Verify admin password authentication */
  adminPasswordAuthVerify?: Maybe<AdminPasswordAuthVerifyPayload>;
  /** Create a new email channel. This does not perform email validation. */
  channelEmailAdd?: Maybe<ChannelEmailAddPayload>;
  /** Try to guess email channel configuration from user credentials */
  channelEmailGuessConfiguration?: Maybe<ChannelEmailGuessConfigurationPayload>;
  /** Set confioguration for sending system notification emails */
  channelEmailSetNotificationConfiguration?: Maybe<ChannelEmailSetNotificationConfigurationPayload>;
  /** Validate an inbound email channel configuration by trying to fetch email */
  channelEmailValidateConfigurationInbound?: Maybe<ChannelEmailValidateConfigurationInboundPayload>;
  /** Validate an outbound email channel configuration by sending a test email */
  channelEmailValidateConfigurationOutbound?: Maybe<ChannelEmailValidateConfigurationOutboundPayload>;
  /** Validate an email channel configuration first sending and then fetching that same mail */
  channelEmailValidateConfigurationRoundtrip?: Maybe<ChannelEmailValidateConfigurationRoundtripPayload>;
  /** Upload files for a form */
  formUploadCacheAdd?: Maybe<FormUploadCacheAddPayload>;
  /** Remove uploaded files for a form */
  formUploadCacheRemove?: Maybe<FormUploadCacheRemovePayload>;
  /** Sets basic system information */
  guidedSetupSetSystemInformation?: Maybe<GuidedSetupSetSystemInformationPayload>;
  /** Transform the content of a knowledge base answer suggestion to be usable in the frontend */
  knowledgeBaseAnswerSuggestionContentTransform?: Maybe<KnowledgeBaseAnswerSuggestionContentTransformPayload>;
  /** Performs a user login to create a session */
  login?: Maybe<LoginPayload>;
  /** End the current session */
  logout?: Maybe<LogoutPayload>;
  /** Subscribe to updates to an object. */
  mentionSubscribe?: Maybe<MentionSubscribePayload>;
  /** Unsubscribe from updates to an object. */
  mentionUnsubscribe?: Maybe<MentionUnsubscribePayload>;
  /** Marks notifications for active user as seen */
  onlineNotificationDelete?: Maybe<OnlineNotificationDeletePayload>;
  /** Marks notifications for active user as seen */
  onlineNotificationMarkAllAsSeen?: Maybe<OnlineNotificationMarkAllAsSeenPayload>;
  /** Mark an online notification as seen */
  onlineNotificationSeen?: Maybe<OnlineNotificationSeenPayload>;
  /** Update organization data. */
  organizationUpdate?: Maybe<OrganizationUpdatePayload>;
  /** Verify and apply third-party system import configuration */
  systemImportConfiguration?: Maybe<SystemImportConfigurationPayload>;
  /** Start the system import process */
  systemImportStart?: Maybe<SystemImportStartPayload>;
  /** Lock critical section, system setup. */
  systemSetupLock?: Maybe<SystemSetupLockPayload>;
  /** Executes the auto wizard for automated system set-up. */
  systemSetupRunAutoWizard?: Maybe<SystemSetupRunAutoWizardPayload>;
  /** Unlock critical section, system setup. */
  systemSetupUnlock?: Maybe<SystemSetupUnlockPayload>;
  /** Assign a tag to an object. This will create tags as needed. */
  tagAssignmentAdd?: Maybe<TagAssignmentAddPayload>;
  /** Removes a tag from an object. */
  tagAssignmentRemove?: Maybe<TagAssignmentRemovePayload>;
  /** Update tags of an object. This will create tags as needed. */
  tagAssignmentUpdate?: Maybe<TagAssignmentUpdatePayload>;
  /** Change ticket article visibility from public to internal or vice versa */
  ticketArticleChangeVisibility?: Maybe<TicketArticleChangeVisibilityPayload>;
  /** Deletes ticket article if eligible */
  ticketArticleDelete?: Maybe<TicketArticleDeletePayload>;
  /** Prepare for a new forward or reply email article */
  ticketArticleEmailForwardReply?: Maybe<TicketArticleEmailForwardReplyPayload>;
  /** Retry an article's media download. */
  ticketArticleRetryMediaDownload?: Maybe<TicketArticleRetryMediaDownloadPayload>;
  /** Retry an article's security process. */
  ticketArticleRetrySecurityProcess?: Maybe<TicketArticleRetrySecurityProcessPayload>;
  /** Create a new ticket. */
  ticketCreate?: Maybe<TicketCreatePayload>;
  /** Update a ticket. */
  ticketCustomerUpdate?: Maybe<TicketCustomerUpdatePayload>;
  /** Deletes the desired live user entry. */
  ticketLiveUserDelete?: Maybe<TicketLiveUserDeletePayload>;
  /** Updates the current live user entry. If no matching live user entry is found, a new live user entry for the current user and ticket will be created. */
  ticketLiveUserUpsert?: Maybe<TicketLiveUserUpsertPayload>;
  /** Create a new ticket. */
  ticketMerge?: Maybe<TicketMergePayload>;
  /** Update a ticket. */
  ticketUpdate?: Maybe<TicketUpdatePayload>;
  /** Fetches the initiation phase data for a two-factor authentication method. */
  twoFactorMethodInitiateAuthentication?: Maybe<TwoFactorMethodInitiateAuthenticationPayload>;
  /** Add a new user. */
  userAdd?: Maybe<UserAddPayload>;
  /** Add the first admin user during system set-up and log that user in. */
  userAddFirstAdmin?: Maybe<UserAddFirstAdminPayload>;
  /** Send password reset link to the user. */
  userPasswordResetSend?: Maybe<UserPasswordResetSendPayload>;
  /** Update user password via reset token. */
  userPasswordResetUpdate?: Maybe<UserPasswordResetUpdatePayload>;
  /** Verify password reset token. */
  userPasswordResetVerify?: Maybe<UserPasswordResetVerifyPayload>;
  /** Sign-up / register user. */
  userSignup?: Maybe<UserSignupPayload>;
  /** Resend signup verification email. */
  userSignupResend?: Maybe<UserSignupResendPayload>;
  /** Verify a signed up user. */
  userSignupVerify?: Maybe<UserSignupVerifyPayload>;
  /** Update an existing user. */
  userUpdate?: Maybe<UserUpdatePayload>;
};


/** All available mutations */
export type MutationsAccountAvatarAddArgs = {
  images: AvatarInput;
};


/** All available mutations */
export type MutationsAccountAvatarDeleteArgs = {
  id: Scalars['ID']['input'];
};


/** All available mutations */
export type MutationsAccountLocaleArgs = {
  locale: Scalars['String']['input'];
};


/** All available mutations */
export type MutationsAdminPasswordAuthSendArgs = {
  login: Scalars['String']['input'];
};


/** All available mutations */
export type MutationsAdminPasswordAuthVerifyArgs = {
  token: Scalars['String']['input'];
};


/** All available mutations */
export type MutationsChannelEmailAddArgs = {
  input: ChannelEmailAddInput;
};


/** All available mutations */
export type MutationsChannelEmailGuessConfigurationArgs = {
  emailAddress: Scalars['String']['input'];
  password: Scalars['String']['input'];
};


/** All available mutations */
export type MutationsChannelEmailSetNotificationConfigurationArgs = {
  outboundConfiguration: ChannelEmailOutboundConfigurationInput;
};


/** All available mutations */
export type MutationsChannelEmailValidateConfigurationInboundArgs = {
  inboundConfiguration: ChannelEmailInboundConfigurationInput;
};


/** All available mutations */
export type MutationsChannelEmailValidateConfigurationOutboundArgs = {
  emailAddress: Scalars['String']['input'];
  outboundConfiguration: ChannelEmailOutboundConfigurationInput;
};


/** All available mutations */
export type MutationsChannelEmailValidateConfigurationRoundtripArgs = {
  emailAddress: Scalars['String']['input'];
  inboundConfiguration: ChannelEmailInboundConfigurationInput;
  outboundConfiguration: ChannelEmailOutboundConfigurationInput;
};


/** All available mutations */
export type MutationsFormUploadCacheAddArgs = {
  files: Array<UploadFileInput>;
  formId: Scalars['FormId']['input'];
};


/** All available mutations */
export type MutationsFormUploadCacheRemoveArgs = {
  fileIds: Array<Scalars['ID']['input']>;
  formId: Scalars['FormId']['input'];
};


/** All available mutations */
export type MutationsGuidedSetupSetSystemInformationArgs = {
  input: SystemInformation;
};


/** All available mutations */
export type MutationsKnowledgeBaseAnswerSuggestionContentTransformArgs = {
  formId: Scalars['FormId']['input'];
  translationId: Scalars['ID']['input'];
};


/** All available mutations */
export type MutationsLoginArgs = {
  input: LoginInput;
};


/** All available mutations */
export type MutationsMentionSubscribeArgs = {
  objectId: Scalars['ID']['input'];
};


/** All available mutations */
export type MutationsMentionUnsubscribeArgs = {
  objectId: Scalars['ID']['input'];
};


/** All available mutations */
export type MutationsOnlineNotificationDeleteArgs = {
  onlineNotificationId: Scalars['ID']['input'];
};


/** All available mutations */
export type MutationsOnlineNotificationMarkAllAsSeenArgs = {
  onlineNotificationIds: Array<Scalars['ID']['input']>;
};


/** All available mutations */
export type MutationsOnlineNotificationSeenArgs = {
  objectId: Scalars['ID']['input'];
};


/** All available mutations */
export type MutationsOrganizationUpdateArgs = {
  id: Scalars['ID']['input'];
  input: OrganizationInput;
};


/** All available mutations */
export type MutationsSystemImportConfigurationArgs = {
  configuration: SystemImportConfigurationInput;
};


/** All available mutations */
export type MutationsSystemSetupLockArgs = {
  ttl?: InputMaybe<Scalars['Int']['input']>;
};


/** All available mutations */
export type MutationsSystemSetupRunAutoWizardArgs = {
  token?: InputMaybe<Scalars['String']['input']>;
};


/** All available mutations */
export type MutationsSystemSetupUnlockArgs = {
  value: Scalars['String']['input'];
};


/** All available mutations */
export type MutationsTagAssignmentAddArgs = {
  objectId: Scalars['ID']['input'];
  tag: Scalars['String']['input'];
};


/** All available mutations */
export type MutationsTagAssignmentRemoveArgs = {
  objectId: Scalars['ID']['input'];
  tag: Scalars['String']['input'];
};


/** All available mutations */
export type MutationsTagAssignmentUpdateArgs = {
  objectId: Scalars['ID']['input'];
  tags: Array<Scalars['String']['input']>;
};


/** All available mutations */
export type MutationsTicketArticleChangeVisibilityArgs = {
  articleId: Scalars['ID']['input'];
  internal: Scalars['Boolean']['input'];
};


/** All available mutations */
export type MutationsTicketArticleDeleteArgs = {
  articleId: Scalars['ID']['input'];
};


/** All available mutations */
export type MutationsTicketArticleEmailForwardReplyArgs = {
  articleId: Scalars['ID']['input'];
  formId: Scalars['FormId']['input'];
};


/** All available mutations */
export type MutationsTicketArticleRetryMediaDownloadArgs = {
  articleId: Scalars['ID']['input'];
};


/** All available mutations */
export type MutationsTicketArticleRetrySecurityProcessArgs = {
  articleId: Scalars['ID']['input'];
};


/** All available mutations */
export type MutationsTicketCreateArgs = {
  input: TicketCreateInput;
};


/** All available mutations */
export type MutationsTicketCustomerUpdateArgs = {
  input: TicketCustomerUpdateInput;
  ticketId: Scalars['ID']['input'];
};


/** All available mutations */
export type MutationsTicketLiveUserDeleteArgs = {
  app: EnumTaskbarApp;
  id: Scalars['ID']['input'];
};


/** All available mutations */
export type MutationsTicketLiveUserUpsertArgs = {
  app: EnumTaskbarApp;
  editing: Scalars['Boolean']['input'];
  id: Scalars['ID']['input'];
};


/** All available mutations */
export type MutationsTicketMergeArgs = {
  sourceTicketId: Scalars['ID']['input'];
  targetTicketId: Scalars['ID']['input'];
};


/** All available mutations */
export type MutationsTicketUpdateArgs = {
  input: TicketUpdateInput;
  ticketId: Scalars['ID']['input'];
};


/** All available mutations */
export type MutationsTwoFactorMethodInitiateAuthenticationArgs = {
  login: Scalars['String']['input'];
  password: Scalars['String']['input'];
  twoFactorMethod: EnumTwoFactorAuthenticationMethod;
};


/** All available mutations */
export type MutationsUserAddArgs = {
  input: UserInput;
  sendInvite?: InputMaybe<Scalars['Boolean']['input']>;
};


/** All available mutations */
export type MutationsUserAddFirstAdminArgs = {
  input: UserSignupInput;
};


/** All available mutations */
export type MutationsUserPasswordResetSendArgs = {
  username: Scalars['String']['input'];
};


/** All available mutations */
export type MutationsUserPasswordResetUpdateArgs = {
  password: Scalars['String']['input'];
  token: Scalars['String']['input'];
};


/** All available mutations */
export type MutationsUserPasswordResetVerifyArgs = {
  token: Scalars['String']['input'];
};


/** All available mutations */
export type MutationsUserSignupArgs = {
  input: UserSignupInput;
};


/** All available mutations */
export type MutationsUserSignupResendArgs = {
  email: Scalars['String']['input'];
};


/** All available mutations */
export type MutationsUserSignupVerifyArgs = {
  token: Scalars['String']['input'];
};


/** All available mutations */
export type MutationsUserUpdateArgs = {
  id: Scalars['ID']['input'];
  input: UserInput;
};

/** Data of one object attribute value of another object */
export type ObjectAttributeValue = {
  __typename?: 'ObjectAttributeValue';
  /** The object attribute record */
  attribute: ObjectManagerFrontendAttribute;
  /** Rendered version of link, if attribute has defined template */
  renderedLink?: Maybe<Scalars['String']['output']>;
  /** The value of the current object's object attribute */
  value?: Maybe<Scalars['JSON']['output']>;
};

/** Data of one object attribute value of another object */
export type ObjectAttributeValueInput = {
  /** The name of the current object's attribute */
  name: Scalars['String']['input'];
  /** The value of the current object's object attribute */
  value?: InputMaybe<Scalars['JSON']['input']>;
};

/** Custom object fields (only editable & active) */
export type ObjectAttributeValuesInterface = {
  objectAttributeValues?: Maybe<Array<ObjectAttributeValue>>;
};

/** An object manager attribute record especially for the frontend */
export type ObjectManagerFrontendAttribute = {
  __typename?: 'ObjectManagerFrontendAttribute';
  dataOption?: Maybe<Scalars['JSON']['output']>;
  dataType: Scalars['String']['output'];
  display: Scalars['String']['output'];
  isInternal: Scalars['Boolean']['output'];
  name: Scalars['String']['output'];
  screens?: Maybe<Scalars['JSON']['output']>;
};

/** Autogenerated return type of ObjectManagerFrontendAttributes. */
export type ObjectManagerFrontendAttributesPayload = {
  __typename?: 'ObjectManagerFrontendAttributesPayload';
  /** Attributes to be shown in the frontend */
  attributes: Array<ObjectManagerFrontendAttribute>;
  /** Screens with attributes to be shown in the frontend */
  screens: Array<ObjectManagerScreenAttributes>;
};

/** Screens with underlying attributes. */
export type ObjectManagerScreenAttributes = {
  __typename?: 'ObjectManagerScreenAttributes';
  attributes: Array<Scalars['String']['output']>;
  name: Scalars['String']['output'];
};

/** Online notifications for a user */
export type OnlineNotification = {
  __typename?: 'OnlineNotification';
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  /** User that created this record */
  createdBy?: Maybe<User>;
  id: Scalars['ID']['output'];
  /** resolver for Rails' belongs_to relationship */
  metaObject?: Maybe<ActivityMessageMetaObject>;
  /** resolver for Rails' has_one relationship */
  objectName: Scalars['String']['output'];
  seen: Scalars['Boolean']['output'];
  /** resolver for Rails' has_one relationship */
  typeName: Scalars['String']['output'];
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
  /** Last user that updated this record */
  updatedBy?: Maybe<User>;
};

/** The connection type for OnlineNotification. */
export type OnlineNotificationConnection = {
  __typename?: 'OnlineNotificationConnection';
  /** A list of edges. */
  edges: Array<OnlineNotificationEdge>;
  /** Information to aid in pagination. */
  pageInfo: PageInfo;
  /** Indicates the total number of available records. */
  totalCount: Scalars['Int']['output'];
};

/** Autogenerated return type of OnlineNotificationDelete. */
export type OnlineNotificationDeletePayload = {
  __typename?: 'OnlineNotificationDeletePayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** Was the notification deletion successful? */
  success: Scalars['Boolean']['output'];
};

/** An edge in a connection. */
export type OnlineNotificationEdge = {
  __typename?: 'OnlineNotificationEdge';
  /** A cursor for use in pagination. */
  cursor: Scalars['String']['output'];
  /** The item at the end of the edge. */
  node: OnlineNotification;
};

/** Autogenerated return type of OnlineNotificationMarkAllAsSeen. */
export type OnlineNotificationMarkAllAsSeenPayload = {
  __typename?: 'OnlineNotificationMarkAllAsSeenPayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** The seen notifications. */
  onlineNotifications?: Maybe<Array<OnlineNotification>>;
};

/** Autogenerated return type of OnlineNotificationSeen. */
export type OnlineNotificationSeenPayload = {
  __typename?: 'OnlineNotificationSeenPayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** Did we successfully set the online notification to seen? */
  success: Scalars['Boolean']['output'];
};

/** Autogenerated return type of OnlineNotificationsCount. */
export type OnlineNotificationsCountPayload = {
  __typename?: 'OnlineNotificationsCountPayload';
  /** Count of unseen notifications for the user */
  unseenCount: Scalars['Int']['output'];
};

/** Organizations that users can belong to */
export type Organization = ObjectAttributeValuesInterface & {
  __typename?: 'Organization';
  active?: Maybe<Scalars['Boolean']['output']>;
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  /** User that created this record */
  createdBy?: Maybe<User>;
  domain?: Maybe<Scalars['String']['output']>;
  domainAssignment?: Maybe<Scalars['Boolean']['output']>;
  id: Scalars['ID']['output'];
  /** Internal database ID */
  internalId: Scalars['Int']['output'];
  members?: Maybe<UserConnection>;
  name?: Maybe<Scalars['String']['output']>;
  /** Internal note */
  note?: Maybe<Scalars['String']['output']>;
  objectAttributeValues?: Maybe<Array<ObjectAttributeValue>>;
  policy: PolicyDefault;
  shared?: Maybe<Scalars['Boolean']['output']>;
  ticketsCount?: Maybe<TicketCount>;
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
  /** Last user that updated this record */
  updatedBy?: Maybe<User>;
  vip?: Maybe<Scalars['Boolean']['output']>;
};


/** Organizations that users can belong to */
export type OrganizationMembersArgs = {
  after?: InputMaybe<Scalars['String']['input']>;
  before?: InputMaybe<Scalars['String']['input']>;
  first?: InputMaybe<Scalars['Int']['input']>;
  last?: InputMaybe<Scalars['Int']['input']>;
};

/** The connection type for Organization. */
export type OrganizationConnection = {
  __typename?: 'OrganizationConnection';
  /** A list of edges. */
  edges: Array<OrganizationEdge>;
  /** Information to aid in pagination. */
  pageInfo: PageInfo;
  /** Indicates the total number of available records. */
  totalCount: Scalars['Int']['output'];
};

/** An edge in a connection. */
export type OrganizationEdge = {
  __typename?: 'OrganizationEdge';
  /** A cursor for use in pagination. */
  cursor: Scalars['String']['output'];
  /** The item at the end of the edge. */
  node: Organization;
};

/** The organization insert/update fields. */
export type OrganizationInput = {
  /** The organization active flag */
  active?: InputMaybe<Scalars['Boolean']['input']>;
  /** The organization domain */
  domain?: InputMaybe<Scalars['String']['input']>;
  /** The organization domain assignment flag */
  domainAssignment?: InputMaybe<Scalars['Boolean']['input']>;
  /** The organization name */
  name?: InputMaybe<Scalars['String']['input']>;
  /** The organization note */
  note?: InputMaybe<Scalars['String']['input']>;
  /** Additional custom attributes (names + values) */
  objectAttributeValues?: InputMaybe<Array<ObjectAttributeValueInput>>;
  /** The organization shared flag */
  shared?: InputMaybe<Scalars['Boolean']['input']>;
};

/** Autogenerated return type of OrganizationUpdate. */
export type OrganizationUpdatePayload = {
  __typename?: 'OrganizationUpdatePayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** The updated organization. */
  organization?: Maybe<Organization>;
};

/** Autogenerated return type of OrganizationUpdates. */
export type OrganizationUpdatesPayload = {
  __typename?: 'OrganizationUpdatesPayload';
  /** Updated organization */
  organization?: Maybe<Organization>;
};

/** Ticket overviews */
export type Overview = {
  __typename?: 'Overview';
  active: Scalars['Boolean']['output'];
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  /** User that created this record */
  createdBy?: Maybe<User>;
  id: Scalars['ID']['output'];
  link: Scalars['String']['output'];
  name: Scalars['String']['output'];
  orderBy: Scalars['String']['output'];
  /** Columns that may be used as order_by of overview queries, with assigned label values */
  orderColumns: Array<KeyValue>;
  orderDirection: EnumOrderDirection;
  prio: Scalars['Int']['output'];
  /** Count of tickets the authenticated user may see in this overview */
  ticketCount: Scalars['Int']['output'];
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
  /** Last user that updated this record */
  updatedBy?: Maybe<User>;
  /** Columns to be shown on screen, with assigned label values */
  viewColumns: Array<KeyValue>;
};

/** The connection type for Overview. */
export type OverviewConnection = {
  __typename?: 'OverviewConnection';
  /** A list of edges. */
  edges: Array<OverviewEdge>;
  /** Information to aid in pagination. */
  pageInfo: PageInfo;
  /** Indicates the total number of available records. */
  totalCount: Scalars['Int']['output'];
};

/** An edge in a connection. */
export type OverviewEdge = {
  __typename?: 'OverviewEdge';
  /** A cursor for use in pagination. */
  cursor: Scalars['String']['output'];
  /** The item at the end of the edge. */
  node: Overview;
};

/** Information about pagination in a connection. */
export type PageInfo = {
  __typename?: 'PageInfo';
  /** When paginating forwards, the cursor to continue. */
  endCursor?: Maybe<Scalars['String']['output']>;
  /** When paginating forwards, are there more items? */
  hasNextPage: Scalars['Boolean']['output'];
  /** When paginating backwards, are there more items? */
  hasPreviousPage: Scalars['Boolean']['output'];
  /** When paginating backwards, the cursor to continue. */
  startCursor?: Maybe<Scalars['String']['output']>;
};

/** Access Pundit policy queries for the current object and user. */
export type PolicyDefault = {
  __typename?: 'PolicyDefault';
  /** Is the user allowed to delete this object? */
  destroy: Scalars['Boolean']['output'];
  /** Is the user allowed to update this object? */
  update: Scalars['Boolean']['output'];
};

/** Access ticket specific Pundit policy queries for the current object and user. */
export type PolicyTicket = {
  __typename?: 'PolicyTicket';
  /** Does the user have agent-level read access to this ticket? */
  agentReadAccess: Scalars['Boolean']['output'];
  /** Does the user have agent-level update access to this ticket? */
  agentUpdateAccess: Scalars['Boolean']['output'];
  /** Is the user allowed to create user subscriptions for this ticket? */
  createMentions: Scalars['Boolean']['output'];
  /** Is the user allowed to delete this object? */
  destroy: Scalars['Boolean']['output'];
  /** Is the user allowed to create a follow-up for this ticket? */
  followUp: Scalars['Boolean']['output'];
  /** Is the user allowed to update this object? */
  update: Scalars['Boolean']['output'];
};

/** Public links available in the system */
export type PublicLink = {
  __typename?: 'PublicLink';
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  /** User that created this record */
  createdBy?: Maybe<User>;
  description?: Maybe<Scalars['String']['output']>;
  id: Scalars['ID']['output'];
  link: Scalars['String']['output'];
  newTab: Scalars['Boolean']['output'];
  title: Scalars['String']['output'];
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
  /** Last user that updated this record */
  updatedBy?: Maybe<User>;
};

/** Autogenerated return type of PublicLinkUpdates. */
export type PublicLinkUpdatesPayload = {
  __typename?: 'PublicLinkUpdatesPayload';
  /** Current available public links */
  publicLinks?: Maybe<Array<PublicLink>>;
};

/** Autogenerated return type of PushMessages. */
export type PushMessagesPayload = {
  __typename?: 'PushMessagesPayload';
  /** Message text */
  text?: Maybe<Scalars['String']['output']>;
  /** Message title */
  title?: Maybe<Scalars['String']['output']>;
};

/** All available queries */
export type Queries = {
  __typename?: 'Queries';
  /** Fetch actively used avatar of the currently logged-in user */
  accountAvatarActive?: Maybe<Avatar>;
  /** Checksum of the currently built front-end application. If this changes, the front-end(s) should reload. */
  applicationBuildChecksum: Scalars['String']['output'];
  /** Configuration required for front end operation (more results returned for authenticated users) */
  applicationConfig: Array<KeyComplexValue>;
  /** Search for tickets */
  autocompleteSearchMergeTicket: Array<AutocompleteSearchMergeTicketEntry>;
  /** Search for values in object attributes for external data sources */
  autocompleteSearchObjectAttributeExternalDataSource: Array<AutocompleteSearchExternalDataSourceEntry>;
  /** Search for organizations */
  autocompleteSearchOrganization: Array<AutocompleteSearchOrganizationEntry>;
  /** Search for recipients */
  autocompleteSearchRecipient: Array<AutocompleteSearchRecipientEntry>;
  /** Search for tags */
  autocompleteSearchTag: Array<AutocompleteSearchEntry>;
  /** Search for users */
  autocompleteSearchUser: Array<AutocompleteSearchUserEntry>;
  /** Information about the authenticated user */
  currentUser: User;
  /** EmailAddresses available in the system */
  emailAddresses: Array<EmailAddress>;
  /** Return updated form information for a frontend form (e.g. core workflow information or resolved relations). */
  formUpdater: Scalars['JSON']['output'];
  /** Suggestions for insertable knowledge base answers in a new ticket article */
  knowledgeBaseAnswerSuggestions?: Maybe<Array<KnowledgeBaseAnswerTranslation>>;
  /** Locales available in the system */
  locales: Array<Locale>;
  /** Suggestions for mentionable users in a new ticket article */
  mentionSuggestions?: Maybe<Array<User>>;
  /** Fetch meta information about object manager attributes for usage in frontend. */
  objectManagerFrontendAttributes?: Maybe<ObjectManagerFrontendAttributesPayload>;
  /** Online notifications for a given user */
  onlineNotifications: OnlineNotificationConnection;
  /** Fetch an organization by ID */
  organization: Organization;
  /** Fetch the version of Zammad */
  productAbout: Scalars['String']['output'];
  /** Fetch public links */
  publicLinks?: Maybe<Array<PublicLink>>;
  /** Generic object search */
  search: Array<SearchResult>;
  /** The sessionId of the currently authenticated user. */
  session: Session;
  /** Fetch system import state */
  systemImportState?: Maybe<ImportJob>;
  /** Get current system setup state */
  systemSetupInfo: SystemSetupInfo;
  /** Search for text modules and return them with variable interpolation */
  textModuleSuggestions: Array<TextModule>;
  /** Fetch a ticket by ID */
  ticket: Ticket;
  /** Fetch ticket articles by ticket ID */
  ticketArticles: TicketArticleConnection;
  /** Ticket overviews available in the system */
  ticketOverviews: OverviewConnection;
  /** Fetch a ticket signature by group ID */
  ticketSignature?: Maybe<Signature>;
  /** Fetch tickets of a given ticket overview */
  ticketsByOverview: TicketConnection;
  /** Translations for a given locale */
  translations?: Maybe<TranslationsPayload>;
  /** Fetch a user information by ID */
  user: User;
};


/** All available queries */
export type QueriesAutocompleteSearchMergeTicketArgs = {
  input: AutocompleteSearchMergeTicketInput;
};


/** All available queries */
export type QueriesAutocompleteSearchObjectAttributeExternalDataSourceArgs = {
  input: AutocompleteSearchObjectAttributeExternalDataSourceInput;
};


/** All available queries */
export type QueriesAutocompleteSearchOrganizationArgs = {
  input: AutocompleteSearchOrganizationInput;
};


/** All available queries */
export type QueriesAutocompleteSearchRecipientArgs = {
  input: AutocompleteSearchRecipientInput;
};


/** All available queries */
export type QueriesAutocompleteSearchTagArgs = {
  input: AutocompleteSearchInput;
};


/** All available queries */
export type QueriesAutocompleteSearchUserArgs = {
  input: AutocompleteSearchInput;
};


/** All available queries */
export type QueriesEmailAddressesArgs = {
  onlyActive?: InputMaybe<Scalars['Boolean']['input']>;
};


/** All available queries */
export type QueriesFormUpdaterArgs = {
  data: Scalars['JSON']['input'];
  formUpdaterId: EnumFormUpdaterId;
  id?: InputMaybe<Scalars['ID']['input']>;
  meta: FormUpdaterMetaInput;
  relationFields: Array<FormUpdaterRelationField>;
};


/** All available queries */
export type QueriesKnowledgeBaseAnswerSuggestionsArgs = {
  query: Scalars['String']['input'];
};


/** All available queries */
export type QueriesLocalesArgs = {
  onlyActive?: InputMaybe<Scalars['Boolean']['input']>;
};


/** All available queries */
export type QueriesMentionSuggestionsArgs = {
  groupId: Scalars['ID']['input'];
  query: Scalars['String']['input'];
};


/** All available queries */
export type QueriesObjectManagerFrontendAttributesArgs = {
  object: EnumObjectManagerObjects;
};


/** All available queries */
export type QueriesOnlineNotificationsArgs = {
  after?: InputMaybe<Scalars['String']['input']>;
  before?: InputMaybe<Scalars['String']['input']>;
  first?: InputMaybe<Scalars['Int']['input']>;
  last?: InputMaybe<Scalars['Int']['input']>;
};


/** All available queries */
export type QueriesOrganizationArgs = {
  organization: LocatorOrganizationInput;
};


/** All available queries */
export type QueriesPublicLinksArgs = {
  screen: EnumPublicLinksScreen;
};


/** All available queries */
export type QueriesSearchArgs = {
  limit?: InputMaybe<Scalars['Int']['input']>;
  onlyIn?: InputMaybe<EnumSearchableModels>;
  search: Scalars['String']['input'];
};


/** All available queries */
export type QueriesTextModuleSuggestionsArgs = {
  limit?: InputMaybe<Scalars['Int']['input']>;
  query: Scalars['String']['input'];
};


/** All available queries */
export type QueriesTicketArgs = {
  ticket: LocatorTicketInput;
};


/** All available queries */
export type QueriesTicketArticlesArgs = {
  after?: InputMaybe<Scalars['String']['input']>;
  before?: InputMaybe<Scalars['String']['input']>;
  first?: InputMaybe<Scalars['Int']['input']>;
  last?: InputMaybe<Scalars['Int']['input']>;
  ticket: LocatorTicketInput;
};


/** All available queries */
export type QueriesTicketOverviewsArgs = {
  after?: InputMaybe<Scalars['String']['input']>;
  before?: InputMaybe<Scalars['String']['input']>;
  first?: InputMaybe<Scalars['Int']['input']>;
  last?: InputMaybe<Scalars['Int']['input']>;
};


/** All available queries */
export type QueriesTicketSignatureArgs = {
  groupId: Scalars['ID']['input'];
  ticketId?: InputMaybe<Scalars['ID']['input']>;
};


/** All available queries */
export type QueriesTicketsByOverviewArgs = {
  after?: InputMaybe<Scalars['String']['input']>;
  before?: InputMaybe<Scalars['String']['input']>;
  first?: InputMaybe<Scalars['Int']['input']>;
  last?: InputMaybe<Scalars['Int']['input']>;
  orderBy?: InputMaybe<Scalars['String']['input']>;
  orderDirection?: InputMaybe<EnumOrderDirection>;
  overviewId: Scalars['ID']['input'];
};


/** All available queries */
export type QueriesTranslationsArgs = {
  cacheKey?: InputMaybe<Scalars['String']['input']>;
  locale: Scalars['String']['input'];
};


/** All available queries */
export type QueriesUserArgs = {
  user: LocatorUserInput;
};

/** Roles */
export type Role = {
  __typename?: 'Role';
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  /** User that created this record */
  createdBy?: Maybe<User>;
  id: Scalars['ID']['output'];
  name?: Maybe<Scalars['String']['output']>;
  /** Internal note */
  note?: Maybe<Scalars['String']['output']>;
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
  /** Last user that updated this record */
  updatedBy?: Maybe<User>;
};

/** Objects found by search */
export type SearchResult = Organization | Ticket | User;

/** Session of the currently logged-in user */
export type Session = {
  __typename?: 'Session';
  afterAuth?: Maybe<SessionAfterAuth>;
  id: Scalars['String']['output'];
};

/** After-authorization information for front ends */
export type SessionAfterAuth = {
  __typename?: 'SessionAfterAuth';
  data?: Maybe<Scalars['JSON']['output']>;
  type: EnumAfterAuthType;
};

/** Signature */
export type Signature = {
  __typename?: 'Signature';
  active: Scalars['Boolean']['output'];
  body?: Maybe<Scalars['String']['output']>;
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  /** User that created this record */
  createdBy?: Maybe<User>;
  id: Scalars['ID']['output'];
  name: Scalars['String']['output'];
  /** Internal note */
  note?: Maybe<Scalars['String']['output']>;
  renderedBody?: Maybe<Scalars['String']['output']>;
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
  /** Last user that updated this record */
  updatedBy?: Maybe<User>;
};


/** Signature */
export type SignatureRenderedBodyArgs = {
  ticketId?: InputMaybe<Scalars['ID']['input']>;
};

/** Represents a stored file. */
export type StoredFile = {
  __typename?: 'StoredFile';
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  id: Scalars['ID']['output'];
  /** Internal database ID */
  internalId: Scalars['Int']['output'];
  /** File name. */
  name: Scalars['String']['output'];
  preferences?: Maybe<Scalars['JSON']['output']>;
  /** File size in bytes */
  size?: Maybe<Scalars['Int']['output']>;
  /** File's content-type. */
  type?: Maybe<Scalars['String']['output']>;
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
};

/** All available subscriptions */
export type Subscriptions = {
  __typename?: 'Subscriptions';
  /** Application update/change events */
  appMaintenance: AppMaintenancePayload;
  /** Updates to configuration settings */
  configUpdates: ConfigUpdatesPayload;
  /** Updates unseen notifications count */
  onlineNotificationsCount: OnlineNotificationsCountPayload;
  /** Updates to organization records */
  organizationUpdates: OrganizationUpdatesPayload;
  /** Updates to public links */
  publicLinkUpdates: PublicLinkUpdatesPayload;
  /** Broadcast messages to all users */
  pushMessages: PushMessagesPayload;
  /** Changes to the list of ticket articles */
  ticketArticleUpdates: TicketArticleUpdatesPayload;
  /** Updates to ticket live users (for agents). */
  ticketLiveUserUpdates: TicketLiveUserUpdatesPayload;
  /** Updates to overviews */
  ticketOverviewUpdates: TicketOverviewUpdatesPayload;
  /** Updates to ticket records */
  ticketUpdates: TicketUpdatesPayload;
  /** Updates to user records */
  userUpdates: UserUpdatesPayload;
};


/** All available subscriptions */
export type SubscriptionsOnlineNotificationsCountArgs = {
  userId: Scalars['ID']['input'];
};


/** All available subscriptions */
export type SubscriptionsOrganizationUpdatesArgs = {
  organizationId: Scalars['ID']['input'];
};


/** All available subscriptions */
export type SubscriptionsPublicLinkUpdatesArgs = {
  screen: EnumPublicLinksScreen;
};


/** All available subscriptions */
export type SubscriptionsTicketArticleUpdatesArgs = {
  ticketId: Scalars['ID']['input'];
};


/** All available subscriptions */
export type SubscriptionsTicketLiveUserUpdatesArgs = {
  app: EnumTaskbarApp;
  key: Scalars['String']['input'];
  userId: Scalars['ID']['input'];
};


/** All available subscriptions */
export type SubscriptionsTicketUpdatesArgs = {
  ticketId: Scalars['ID']['input'];
};


/** All available subscriptions */
export type SubscriptionsUserUpdatesArgs = {
  userId: Scalars['ID']['input'];
};

/** Third-party system configuration information */
export type SystemImportConfigurationInput = {
  /** Third-party system password/token */
  secret?: InputMaybe<Scalars['String']['input']>;
  /** Third-party system source */
  source: EnumSystemImportSource;
  /** Verify TLS certificate */
  tlsVerify?: InputMaybe<Scalars['Boolean']['input']>;
  /** Third-party system URL */
  url: Scalars['UriHttpString']['input'];
  /** Third-party system username */
  username?: InputMaybe<Scalars['String']['input']>;
};

/** Autogenerated return type of SystemImportConfiguration. */
export type SystemImportConfigurationPayload = {
  __typename?: 'SystemImportConfigurationPayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** Is the configuration valid? */
  success: Scalars['Boolean']['output'];
};

/** Autogenerated return type of SystemImportStart. */
export type SystemImportStartPayload = {
  __typename?: 'SystemImportStartPayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** Was the start successful? */
  success: Scalars['Boolean']['output'];
};

/** Basic system information */
export type SystemInformation = {
  /** Default system locale */
  localeDefault?: InputMaybe<Scalars['String']['input']>;
  /** Images to be uploaded. */
  logo?: InputMaybe<Scalars['BinaryString']['input']>;
  /** System name to display in the app */
  organization: Scalars['String']['input'];
  /** Default system time zone */
  timezoneDefault?: InputMaybe<Scalars['String']['input']>;
  /** System URL */
  url?: InputMaybe<Scalars['String']['input']>;
};

/** System setup state. */
export type SystemSetupInfo = {
  __typename?: 'SystemSetupInfo';
  /** System setup status. */
  status: EnumSystemSetupInfoStatus;
  /** System setup type. */
  type?: Maybe<EnumSystemSetupInfoType>;
};

/** Autogenerated return type of SystemSetupLock. */
export type SystemSetupLockPayload = {
  __typename?: 'SystemSetupLockPayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** Critical section resoure name. */
  resource?: Maybe<Scalars['String']['output']>;
  /** Critical section resoure value. */
  value?: Maybe<Scalars['String']['output']>;
};

/** Autogenerated return type of SystemSetupRunAutoWizard. */
export type SystemSetupRunAutoWizardPayload = {
  __typename?: 'SystemSetupRunAutoWizardPayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** The current session, if the auto wizard was successfully executed. */
  session?: Maybe<Session>;
};

/** Autogenerated return type of SystemSetupUnlock. */
export type SystemSetupUnlockPayload = {
  __typename?: 'SystemSetupUnlockPayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** Success. */
  success?: Maybe<Scalars['Boolean']['output']>;
};

/** Autogenerated return type of TagAssignmentAdd. */
export type TagAssignmentAddPayload = {
  __typename?: 'TagAssignmentAddPayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** Was the mutation successful? */
  success?: Maybe<Scalars['Boolean']['output']>;
};

/** Autogenerated return type of TagAssignmentRemove. */
export type TagAssignmentRemovePayload = {
  __typename?: 'TagAssignmentRemovePayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** Was the mutation successful? */
  success?: Maybe<Scalars['Boolean']['output']>;
};

/** Autogenerated return type of TagAssignmentUpdate. */
export type TagAssignmentUpdatePayload = {
  __typename?: 'TagAssignmentUpdatePayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** Was the mutation successful? */
  success?: Maybe<Scalars['Boolean']['output']>;
};

/** Assigned tags */
export type TagsInterface = {
  tags?: Maybe<Array<Scalars['String']['output']>>;
};

/** Context data for template rendering, e.g. customer data. */
export type TemplateRenderContextInput = {
  /** Ticket customer (if no ticket exists yet) */
  customerId?: InputMaybe<Scalars['ID']['input']>;
  /** Group */
  groupId?: InputMaybe<Scalars['ID']['input']>;
  /** Organization */
  organizationId?: InputMaybe<Scalars['ID']['input']>;
  /** Ticket */
  ticketId?: InputMaybe<Scalars['ID']['input']>;
  /** User (if not present the currently logged in user will be passed) */
  userId?: InputMaybe<Scalars['ID']['input']>;
};

/** Text modules */
export type TextModule = {
  __typename?: 'TextModule';
  active: Scalars['Boolean']['output'];
  content?: Maybe<Scalars['String']['output']>;
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  /** User that created this record */
  createdBy?: Maybe<User>;
  groups?: Maybe<GroupConnection>;
  id: Scalars['ID']['output'];
  keywords?: Maybe<Scalars['String']['output']>;
  name: Scalars['String']['output'];
  /** Internal note */
  note?: Maybe<Scalars['String']['output']>;
  renderedContent?: Maybe<Scalars['String']['output']>;
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
  /** Last user that updated this record */
  updatedBy?: Maybe<User>;
};


/** Text modules */
export type TextModuleGroupsArgs = {
  after?: InputMaybe<Scalars['String']['input']>;
  before?: InputMaybe<Scalars['String']['input']>;
  first?: InputMaybe<Scalars['Int']['input']>;
  last?: InputMaybe<Scalars['Int']['input']>;
};


/** Text modules */
export type TextModuleRenderedContentArgs = {
  templateRenderContext: TemplateRenderContextInput;
};

/** Tickets */
export type Ticket = ObjectAttributeValuesInterface & TagsInterface & {
  __typename?: 'Ticket';
  closeAt?: Maybe<Scalars['ISO8601DateTime']['output']>;
  closeDiffInMin?: Maybe<Scalars['Int']['output']>;
  closeEscalationAt?: Maybe<Scalars['ISO8601DateTime']['output']>;
  closeInMin?: Maybe<Scalars['Int']['output']>;
  /** resolver for Rails' belongs_to relationship */
  createArticleType?: Maybe<TicketArticleType>;
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  /** User that created this record */
  createdBy?: Maybe<User>;
  /** resolver for Rails' belongs_to relationship */
  customer: User;
  escalationAt?: Maybe<Scalars['ISO8601DateTime']['output']>;
  firstResponseAt?: Maybe<Scalars['ISO8601DateTime']['output']>;
  firstResponseDiffInMin?: Maybe<Scalars['Int']['output']>;
  firstResponseEscalationAt?: Maybe<Scalars['ISO8601DateTime']['output']>;
  firstResponseInMin?: Maybe<Scalars['Int']['output']>;
  /** resolver for Rails' belongs_to relationship */
  group: Group;
  id: Scalars['ID']['output'];
  /** The initial channel of the ticket. */
  initialChannel?: Maybe<EnumChannelArea>;
  /** Internal database ID */
  internalId: Scalars['Int']['output'];
  lastContactAgentAt?: Maybe<Scalars['ISO8601DateTime']['output']>;
  lastContactAt?: Maybe<Scalars['ISO8601DateTime']['output']>;
  lastContactCustomerAt?: Maybe<Scalars['ISO8601DateTime']['output']>;
  lastOwnerUpdateAt?: Maybe<Scalars['ISO8601DateTime']['output']>;
  mentions?: Maybe<MentionConnection>;
  /** Internal note */
  note?: Maybe<Scalars['String']['output']>;
  number: Scalars['String']['output'];
  objectAttributeValues?: Maybe<Array<ObjectAttributeValue>>;
  /** resolver for Rails' belongs_to relationship */
  organization?: Maybe<Organization>;
  /** resolver for Rails' belongs_to relationship */
  owner: User;
  pendingTime?: Maybe<Scalars['ISO8601DateTime']['output']>;
  policy: PolicyTicket;
  preferences?: Maybe<Scalars['JSON']['output']>;
  /** resolver for Rails' belongs_to relationship */
  priority: TicketPriority;
  /** resolver for Rails' belongs_to relationship */
  state: TicketState;
  /** Ticket color indicator state. */
  stateColorCode: EnumTicketStateColorCode;
  subscribed?: Maybe<Scalars['Boolean']['output']>;
  tags?: Maybe<Array<Scalars['String']['output']>>;
  timeUnit?: Maybe<Scalars['Float']['output']>;
  timeUnitsPerType?: Maybe<Array<TicketTimeAccountingTypeSum>>;
  title: Scalars['String']['output'];
  updateDiffInMin?: Maybe<Scalars['Int']['output']>;
  updateEscalationAt?: Maybe<Scalars['ISO8601DateTime']['output']>;
  updateInMin?: Maybe<Scalars['Int']['output']>;
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
  /** Last user that updated this record */
  updatedBy?: Maybe<User>;
};


/** Tickets */
export type TicketMentionsArgs = {
  after?: InputMaybe<Scalars['String']['input']>;
  before?: InputMaybe<Scalars['String']['input']>;
  first?: InputMaybe<Scalars['Int']['input']>;
  last?: InputMaybe<Scalars['Int']['input']>;
};

/** Ticket articles */
export type TicketArticle = {
  __typename?: 'TicketArticle';
  /** All attached files as stored in the database. */
  attachments: Array<StoredFile>;
  /** Attachments for display, with inline images filtered out. */
  attachmentsWithoutInline: Array<StoredFile>;
  /** The originator (originBy, if any) or the creator of an article. */
  author: User;
  /** Raw body as saved in the database. */
  body: Scalars['String']['output'];
  /** Body with cid: URLs replaced for inline images in HTML articles. */
  bodyWithUrls: Scalars['String']['output'];
  cc?: Maybe<AddressesField>;
  contentType: Scalars['String']['output'];
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  /** User that created this record */
  createdBy?: Maybe<User>;
  from?: Maybe<AddressesField>;
  id: Scalars['ID']['output'];
  inReplyTo?: Maybe<Scalars['String']['output']>;
  internal: Scalars['Boolean']['output'];
  /** Internal database ID */
  internalId: Scalars['Int']['output'];
  mediaErrorState?: Maybe<TicketArticleMediaErrorState>;
  messageId?: Maybe<Scalars['String']['output']>;
  messageIdMd5?: Maybe<Scalars['String']['output']>;
  preferences?: Maybe<Scalars['JSON']['output']>;
  references?: Maybe<Scalars['String']['output']>;
  replyTo?: Maybe<AddressesField>;
  securityState?: Maybe<TicketArticleSecurityState>;
  /** resolver for Rails' belongs_to relationship */
  sender?: Maybe<TicketArticleSender>;
  subject?: Maybe<Scalars['String']['output']>;
  /** resolver for Rails' belongs_to relationship */
  ticket: Ticket;
  to?: Maybe<AddressesField>;
  /** resolver for Rails' belongs_to relationship */
  type?: Maybe<TicketArticleType>;
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
  /** Last user that updated this record */
  updatedBy?: Maybe<User>;
};

/** Autogenerated return type of TicketArticleChangeVisibility. */
export type TicketArticleChangeVisibilityPayload = {
  __typename?: 'TicketArticleChangeVisibilityPayload';
  /** The updated ticket article */
  article?: Maybe<TicketArticle>;
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
};

/** The connection type for TicketArticle. */
export type TicketArticleConnection = {
  __typename?: 'TicketArticleConnection';
  /** A list of edges. */
  edges: Array<TicketArticleEdge>;
  /** Information to aid in pagination. */
  pageInfo: PageInfo;
  /** Indicates the total number of available records. */
  totalCount: Scalars['Int']['output'];
};

/** Autogenerated return type of TicketArticleDelete. */
export type TicketArticleDeletePayload = {
  __typename?: 'TicketArticleDeletePayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** Was the ticket article deletion successful? */
  success: Scalars['Boolean']['output'];
};

/** An edge in a connection. */
export type TicketArticleEdge = {
  __typename?: 'TicketArticleEdge';
  /** A cursor for use in pagination. */
  cursor: Scalars['String']['output'];
  /** The item at the end of the edge. */
  node: TicketArticle;
};

/** Autogenerated return type of TicketArticleEmailForwardReply. */
export type TicketArticleEmailForwardReplyPayload = {
  __typename?: 'TicketArticleEmailForwardReplyPayload';
  /** Cloned attachments for the new article. */
  attachments: Array<StoredFile>;
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** 'Cc' information of the original email to be inserted in the quoted email block */
  quotableCc?: Maybe<Scalars['String']['output']>;
  /** 'From' information of the original email to be inserted in the quoted email block */
  quotableFrom?: Maybe<Scalars['String']['output']>;
  /** 'To' information of the original email to be inserted in the quoted email block */
  quotableTo?: Maybe<Scalars['String']['output']>;
};

/** Represents the article attributes to be used in ticket create/update. */
export type TicketArticleInput = {
  /** The article attachments. */
  attachments?: InputMaybe<AttachmentInput>;
  /** The article body. */
  body?: InputMaybe<Scalars['String']['input']>;
  /** The article CC address. */
  cc?: InputMaybe<Array<Scalars['String']['input']>>;
  /** The article content type. */
  contentType?: InputMaybe<Scalars['String']['input']>;
  /** The article sender address. */
  from?: InputMaybe<Scalars['String']['input']>;
  /** Message id of the article this article replies to. */
  inReplyTo?: InputMaybe<Scalars['String']['input']>;
  /** Whether the article is internal. */
  internal?: InputMaybe<Scalars['Boolean']['input']>;
  /** The article preferences. */
  preferences?: InputMaybe<Scalars['JSON']['input']>;
  /** The article security options. */
  security?: InputMaybe<TicketSecurityInput>;
  /** The article sender. */
  sender?: InputMaybe<Scalars['String']['input']>;
  /** The article subject. */
  subject?: InputMaybe<Scalars['String']['input']>;
  /** The article subtype. */
  subtype?: InputMaybe<Scalars['String']['input']>;
  /** The article accounted time. */
  timeUnit?: InputMaybe<Scalars['Float']['input']>;
  /** The article recipient address. */
  to?: InputMaybe<Array<Scalars['String']['input']>>;
  /** The article type. */
  type?: InputMaybe<Scalars['String']['input']>;
};

/** Ticket article media error information, e.g. for WhatsApp Business */
export type TicketArticleMediaErrorState = {
  __typename?: 'TicketArticleMediaErrorState';
  error?: Maybe<Scalars['Boolean']['output']>;
};

/** Autogenerated return type of TicketArticleRetryMediaDownload. */
export type TicketArticleRetryMediaDownloadPayload = {
  __typename?: 'TicketArticleRetryMediaDownloadPayload';
  /** Updated article (article is not updated in case of an error result). */
  article?: Maybe<TicketArticle>;
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** Was the operation successful? */
  success?: Maybe<Scalars['Boolean']['output']>;
};

/** Autogenerated return type of TicketArticleRetrySecurityProcess. */
export type TicketArticleRetrySecurityProcessPayload = {
  __typename?: 'TicketArticleRetrySecurityProcessPayload';
  /** Updated article (article is not updated in case of an error result). */
  article?: Maybe<TicketArticle>;
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** Result of the operation. */
  retryResult?: Maybe<TicketArticleSecurityState>;
};

/** Ticket article security information, e.g. for S/MIME */
export type TicketArticleSecurityState = {
  __typename?: 'TicketArticleSecurityState';
  encryptionMessage?: Maybe<Scalars['String']['output']>;
  encryptionSuccess?: Maybe<Scalars['Boolean']['output']>;
  signingMessage?: Maybe<Scalars['String']['output']>;
  signingSuccess?: Maybe<Scalars['Boolean']['output']>;
  /** The used email security method */
  type?: Maybe<EnumSecurityStateType>;
};

/** Ticket article senders */
export type TicketArticleSender = {
  __typename?: 'TicketArticleSender';
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  /** User that created this record */
  createdBy?: Maybe<User>;
  id: Scalars['ID']['output'];
  name?: Maybe<Scalars['String']['output']>;
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
  /** Last user that updated this record */
  updatedBy?: Maybe<User>;
};

/** Ticket article types */
export type TicketArticleType = {
  __typename?: 'TicketArticleType';
  communication?: Maybe<Scalars['Boolean']['output']>;
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  /** User that created this record */
  createdBy?: Maybe<User>;
  id: Scalars['ID']['output'];
  name?: Maybe<Scalars['String']['output']>;
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
  /** Last user that updated this record */
  updatedBy?: Maybe<User>;
};

/** Autogenerated return type of TicketArticleUpdates. */
export type TicketArticleUpdatesPayload = {
  __typename?: 'TicketArticleUpdatesPayload';
  /** A new article needs to be added to the list */
  addArticle?: Maybe<TicketArticle>;
  /** An article must be removed from the list */
  removeArticleId?: Maybe<Scalars['ID']['output']>;
  /** An existing article was changed */
  updateArticle?: Maybe<TicketArticle>;
};

/** The connection type for Ticket. */
export type TicketConnection = {
  __typename?: 'TicketConnection';
  /** A list of edges. */
  edges: Array<TicketEdge>;
  /** Information to aid in pagination. */
  pageInfo: PageInfo;
  /** Indicates the total number of available records. */
  totalCount: Scalars['Int']['output'];
};

/** Open and closed ticket information */
export type TicketCount = {
  __typename?: 'TicketCount';
  closed: Scalars['Int']['output'];
  open: Scalars['Int']['output'];
};

/** Represents the ticket attributes to be used in ticket create. */
export type TicketCreateInput = {
  /** The article data. */
  article?: InputMaybe<TicketArticleInput>;
  /** The customer of the ticket. */
  customerId?: InputMaybe<Scalars['ID']['input']>;
  /** The group of the ticket. */
  groupId: Scalars['ID']['input'];
  /** Additional custom attributes (names + values) */
  objectAttributeValues?: InputMaybe<Array<ObjectAttributeValueInput>>;
  /** The organization of the ticket. */
  organizationId?: InputMaybe<Scalars['ID']['input']>;
  /** The owner of the ticket. */
  ownerId?: InputMaybe<Scalars['ID']['input']>;
  /** The pending time of the ticket. */
  pendingTime?: InputMaybe<Scalars['ISO8601DateTime']['input']>;
  /** The priority of the ticket. */
  priorityId?: InputMaybe<Scalars['ID']['input']>;
  /** The state of the ticket. */
  stateId?: InputMaybe<Scalars['ID']['input']>;
  /** The tags that should be assigned to the new ticket. */
  tags?: InputMaybe<Array<Scalars['String']['input']>>;
  /** The title of the ticket. */
  title: Scalars['NonEmptyString']['input'];
};

/** Autogenerated return type of TicketCreate. */
export type TicketCreatePayload = {
  __typename?: 'TicketCreatePayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** The created ticket. If this is present but empty, the mutation was successful but the user has no rights to view the new ticket. */
  ticket?: Maybe<Ticket>;
};

/** Payload to update a ticket customer */
export type TicketCustomerUpdateInput = {
  /** The customer of the ticket. */
  customerId: Scalars['ID']['input'];
  /** The organization of the ticket (only needed if the customer belongs to several organizations). */
  organizationId?: InputMaybe<Scalars['ID']['input']>;
};

/** Autogenerated return type of TicketCustomerUpdate. */
export type TicketCustomerUpdatePayload = {
  __typename?: 'TicketCustomerUpdatePayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** The updated ticket. */
  ticket?: Maybe<Ticket>;
};

/** An edge in a connection. */
export type TicketEdge = {
  __typename?: 'TicketEdge';
  /** A cursor for use in pagination. */
  cursor: Scalars['String']['output'];
  /** The item at the end of the edge. */
  node: Ticket;
};

/** Ticket live user information */
export type TicketLiveUser = {
  __typename?: 'TicketLiveUser';
  /** Different apps information from the user */
  apps: Array<TicketLiveUserApp>;
  user: User;
};

/** Ticket live user app information */
export type TicketLiveUserApp = {
  __typename?: 'TicketLiveUserApp';
  editing: Scalars['Boolean']['output'];
  /** Last interaction time from the user in the frontend */
  lastInteraction: Scalars['ISO8601DateTime']['output'];
  name: EnumTaskbarApp;
};

/** Autogenerated return type of TicketLiveUserDelete. */
export type TicketLiveUserDeletePayload = {
  __typename?: 'TicketLiveUserDeletePayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** Was the live user entry deletion successful? */
  success: Scalars['Boolean']['output'];
};

/** Autogenerated return type of TicketLiveUserUpdates. */
export type TicketLiveUserUpdatesPayload = {
  __typename?: 'TicketLiveUserUpdatesPayload';
  /** Current live users from the ticket. */
  liveUsers?: Maybe<Array<TicketLiveUser>>;
};

/** Autogenerated return type of TicketLiveUserUpsert. */
export type TicketLiveUserUpsertPayload = {
  __typename?: 'TicketLiveUserUpsertPayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** Did we succeed to insert/update the live user entry? */
  success: Scalars['Boolean']['output'];
};

/** Autogenerated return type of TicketMerge. */
export type TicketMergePayload = {
  __typename?: 'TicketMergePayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** The source ticket after merging. */
  sourceTicket?: Maybe<Ticket>;
  /** The target ticket after merging. */
  targetTicket?: Maybe<Ticket>;
};

/** Autogenerated return type of TicketOverviewUpdates. */
export type TicketOverviewUpdatesPayload = {
  __typename?: 'TicketOverviewUpdatesPayload';
  /** Current ticket overviews for the user. */
  ticketOverviews?: Maybe<OverviewConnection>;
};


/** Autogenerated return type of TicketOverviewUpdates. */
export type TicketOverviewUpdatesPayloadTicketOverviewsArgs = {
  after?: InputMaybe<Scalars['String']['input']>;
  before?: InputMaybe<Scalars['String']['input']>;
  first?: InputMaybe<Scalars['Int']['input']>;
  last?: InputMaybe<Scalars['Int']['input']>;
};

/** Ticket priorities */
export type TicketPriority = {
  __typename?: 'TicketPriority';
  active: Scalars['Boolean']['output'];
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  /** User that created this record */
  createdBy?: Maybe<User>;
  defaultCreate: Scalars['Boolean']['output'];
  id: Scalars['ID']['output'];
  name: Scalars['String']['output'];
  /** Internal note */
  note?: Maybe<Scalars['String']['output']>;
  uiColor?: Maybe<Scalars['String']['output']>;
  uiIcon?: Maybe<Scalars['String']['output']>;
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
  /** Last user that updated this record */
  updatedBy?: Maybe<User>;
};

/** Represents the security attributes to be used in ticket article create/update. */
export type TicketSecurityInput = {
  /** Security method. */
  method: EnumSecurityStateType;
  /** Enabled security options. */
  options: Array<EnumSecurityOption>;
};

/** Ticket states */
export type TicketState = {
  __typename?: 'TicketState';
  active: Scalars['Boolean']['output'];
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  /** User that created this record */
  createdBy?: Maybe<User>;
  defaultCreate: Scalars['Boolean']['output'];
  defaultFollowUp: Scalars['Boolean']['output'];
  id: Scalars['ID']['output'];
  ignoreEscalation: Scalars['Boolean']['output'];
  name: Scalars['String']['output'];
  nextStateId?: Maybe<Scalars['Int']['output']>;
  /** Internal note */
  note?: Maybe<Scalars['String']['output']>;
  /** resolver for Rails' belongs_to relationship */
  stateType: TicketStateType;
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
  /** Last user that updated this record */
  updatedBy?: Maybe<User>;
};

/** Ticket state types */
export type TicketStateType = {
  __typename?: 'TicketStateType';
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  /** User that created this record */
  createdBy?: Maybe<User>;
  id: Scalars['ID']['output'];
  name: Scalars['String']['output'];
  /** Internal note */
  note?: Maybe<Scalars['String']['output']>;
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
  /** Last user that updated this record */
  updatedBy?: Maybe<User>;
};

/** Ticket time accounting - sum per type */
export type TicketTimeAccountingTypeSum = {
  __typename?: 'TicketTimeAccountingTypeSum';
  name: Scalars['String']['output'];
  timeUnit: Scalars['Float']['output'];
};

/** Represents the ticket attributes to be used in ticket update. */
export type TicketUpdateInput = {
  /** The article data. */
  article?: InputMaybe<TicketArticleInput>;
  /** The customer of the ticket. */
  customerId?: InputMaybe<Scalars['ID']['input']>;
  /** The group of the ticket. */
  groupId?: InputMaybe<Scalars['ID']['input']>;
  /** Additional custom attributes (names + values) */
  objectAttributeValues?: InputMaybe<Array<ObjectAttributeValueInput>>;
  /** The organization of the ticket. */
  organizationId?: InputMaybe<Scalars['ID']['input']>;
  /** The owner of the ticket. */
  ownerId?: InputMaybe<Scalars['ID']['input']>;
  /** The pending time of the ticket. */
  pendingTime?: InputMaybe<Scalars['ISO8601DateTime']['input']>;
  /** The priority of the ticket. */
  priorityId?: InputMaybe<Scalars['ID']['input']>;
  /** The state of the ticket. */
  stateId?: InputMaybe<Scalars['ID']['input']>;
  /** The title of the ticket. */
  title?: InputMaybe<Scalars['NonEmptyString']['input']>;
};

/** Autogenerated return type of TicketUpdate. */
export type TicketUpdatePayload = {
  __typename?: 'TicketUpdatePayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** The updated ticket. If this is present but empty, the mutation was successful but the user has no rights to view the updated ticket. */
  ticket?: Maybe<Ticket>;
};

/** Autogenerated return type of TicketUpdates. */
export type TicketUpdatesPayload = {
  __typename?: 'TicketUpdatesPayload';
  /** Updated ticket */
  ticket?: Maybe<Ticket>;
};

/** Autogenerated return type of Translations. */
export type TranslationsPayload = {
  __typename?: 'TranslationsPayload';
  /** Cache key that the front end should use to cache the new translation data. */
  cacheKey?: Maybe<Scalars['String']['output']>;
  /** If this is true, then the front end's translation cache is still valid and should be used, cacheKey and translation will not be returned. */
  isCacheStillValid: Scalars['Boolean']['output'];
  /** The actual translation data as Hash where keys are source and values target strings (excluding untranslated strings). */
  translations?: Maybe<Scalars['JSON']['output']>;
};

/** Payload for the two factor authentication */
export type TwoFactorAuthenticationInput = {
  /** Two factor authentication method */
  twoFactorMethod: EnumTwoFactorAuthenticationMethod;
  /** Two factor authentication token */
  twoFactorPayload: Scalars['JSON']['input'];
};

/** Autogenerated return type of TwoFactorMethodInitiateAuthentication. */
export type TwoFactorMethodInitiateAuthenticationPayload = {
  __typename?: 'TwoFactorMethodInitiateAuthenticationPayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  initiationData?: Maybe<Scalars['JSON']['output']>;
};

/** Payload for the two factor recovery authentication */
export type TwoFactorRecoveryInput = {
  /** Two factor recovery code */
  recoveryCode: Scalars['String']['input'];
};

/** A file to be uploaded. */
export type UploadFileInput = {
  /** File content */
  content?: InputMaybe<Scalars['BinaryString']['input']>;
  /** File name. */
  name: Scalars['String']['input'];
  /** File's content-type. */
  type?: InputMaybe<Scalars['String']['input']>;
};

/** Users (admins, agents and customers) */
export type User = ObjectAttributeValuesInterface & {
  __typename?: 'User';
  active?: Maybe<Scalars['Boolean']['output']>;
  authorizations?: Maybe<Array<Authorization>>;
  /** Create date/time of the record */
  createdAt: Scalars['ISO8601DateTime']['output'];
  /** User that created this record */
  createdBy?: Maybe<User>;
  email?: Maybe<Scalars['String']['output']>;
  fax?: Maybe<Scalars['String']['output']>;
  firstname?: Maybe<Scalars['String']['output']>;
  fullname?: Maybe<Scalars['String']['output']>;
  hasSecondaryOrganizations?: Maybe<Scalars['Boolean']['output']>;
  id: Scalars['ID']['output'];
  image?: Maybe<Scalars['String']['output']>;
  imageSource?: Maybe<Scalars['String']['output']>;
  /** Internal database ID */
  internalId: Scalars['Int']['output'];
  lastname?: Maybe<Scalars['String']['output']>;
  login?: Maybe<Scalars['String']['output']>;
  mobile?: Maybe<Scalars['String']['output']>;
  /** Internal note */
  note?: Maybe<Scalars['String']['output']>;
  objectAttributeValues?: Maybe<Array<ObjectAttributeValue>>;
  /** resolver for Rails' belongs_to relationship */
  organization?: Maybe<Organization>;
  outOfOffice?: Maybe<Scalars['Boolean']['output']>;
  outOfOfficeEndAt?: Maybe<Scalars['ISO8601Date']['output']>;
  outOfOfficeReplacementId?: Maybe<Scalars['Int']['output']>;
  outOfOfficeStartAt?: Maybe<Scalars['ISO8601Date']['output']>;
  permissions?: Maybe<UserPermission>;
  phone?: Maybe<Scalars['String']['output']>;
  policy: PolicyDefault;
  preferences?: Maybe<Scalars['JSON']['output']>;
  secondaryOrganizations?: Maybe<OrganizationConnection>;
  ticketsCount?: Maybe<TicketCount>;
  /** Last update date/time of the record */
  updatedAt: Scalars['ISO8601DateTime']['output'];
  /** Last user that updated this record */
  updatedBy?: Maybe<User>;
  verified?: Maybe<Scalars['Boolean']['output']>;
  vip?: Maybe<Scalars['Boolean']['output']>;
  web?: Maybe<Scalars['String']['output']>;
};


/** Users (admins, agents and customers) */
export type UserSecondaryOrganizationsArgs = {
  after?: InputMaybe<Scalars['String']['input']>;
  before?: InputMaybe<Scalars['String']['input']>;
  first?: InputMaybe<Scalars['Int']['input']>;
  last?: InputMaybe<Scalars['Int']['input']>;
};

/** Autogenerated return type of UserAddFirstAdmin. */
export type UserAddFirstAdminPayload = {
  __typename?: 'UserAddFirstAdminPayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** The current session, if the user was successfully created. */
  session?: Maybe<Session>;
};

/** Autogenerated return type of UserAdd. */
export type UserAddPayload = {
  __typename?: 'UserAddPayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** The created user. */
  user?: Maybe<User>;
};

/** The connection type for User. */
export type UserConnection = {
  __typename?: 'UserConnection';
  /** A list of edges. */
  edges: Array<UserEdge>;
  /** Information to aid in pagination. */
  pageInfo: PageInfo;
  /** Indicates the total number of available records. */
  totalCount: Scalars['Int']['output'];
};

/** An edge in a connection. */
export type UserEdge = {
  __typename?: 'UserEdge';
  /** A cursor for use in pagination. */
  cursor: Scalars['String']['output'];
  /** The item at the end of the edge. */
  node: User;
};

/** Represents an error in the input of a mutation. */
export type UserError = {
  __typename?: 'UserError';
  field?: Maybe<Scalars['String']['output']>;
  message: Scalars['String']['output'];
};

/** Represents a User <-> Group permission entry. */
export type UserGroupPermissionEntry = {
  /** Assigned access levels for the user in the group */
  accessType: Array<EnumPermissionAccess>;
  /** Internal ID of the group */
  groupInternalId: Scalars['Int']['input'];
};

/** The user add/update fields. */
export type UserInput = {
  /** The user active flag */
  active?: InputMaybe<Scalars['Boolean']['input']>;
  /** The user email */
  email?: InputMaybe<Scalars['String']['input']>;
  /** The user fax */
  fax?: InputMaybe<Scalars['String']['input']>;
  /** The user first name */
  firstname?: InputMaybe<Scalars['String']['input']>;
  /** User group access levels */
  groupIds?: InputMaybe<Array<UserGroupPermissionEntry>>;
  /** The user last name */
  lastname?: InputMaybe<Scalars['String']['input']>;
  /** The user mobile */
  mobile?: InputMaybe<Scalars['String']['input']>;
  /** The user note */
  note?: InputMaybe<Scalars['String']['input']>;
  /** Additional custom attributes (names + values) */
  objectAttributeValues?: InputMaybe<Array<ObjectAttributeValueInput>>;
  /** The organization the user belongs to */
  organizationId?: InputMaybe<Scalars['ID']['input']>;
  /** The secondary organizations the user belongs to */
  organizationIds?: InputMaybe<Array<Scalars['ID']['input']>>;
  /** The user password */
  password?: InputMaybe<Scalars['String']['input']>;
  /** The user phone */
  phone?: InputMaybe<Scalars['String']['input']>;
  /** The roles (e.g. admin, agent, (e.g. Agent or Customer) this user has */
  roleIds?: InputMaybe<Array<Scalars['ID']['input']>>;
  /** The user vip flag */
  vip?: InputMaybe<Scalars['Boolean']['input']>;
  /** The user web */
  web?: InputMaybe<Scalars['String']['input']>;
};

/** Autogenerated return type of UserPasswordResetSend. */
export type UserPasswordResetSendPayload = {
  __typename?: 'UserPasswordResetSendPayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** This indicates if sending of the password reset link was successful. */
  success?: Maybe<Scalars['Boolean']['output']>;
};

/** Autogenerated return type of UserPasswordResetUpdate. */
export type UserPasswordResetUpdatePayload = {
  __typename?: 'UserPasswordResetUpdatePayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** This indicates if the password update was successful. */
  success?: Maybe<Scalars['Boolean']['output']>;
};

/** Autogenerated return type of UserPasswordResetVerify. */
export type UserPasswordResetVerifyPayload = {
  __typename?: 'UserPasswordResetVerifyPayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** This indicates if the password reset token is valid. */
  success?: Maybe<Scalars['Boolean']['output']>;
};

/** Permissions for the current user */
export type UserPermission = {
  __typename?: 'UserPermission';
  ids: Array<Scalars['Int']['output']>;
  names: Array<Scalars['String']['output']>;
};

/** The user sign-up fields. */
export type UserSignupInput = {
  /** The user email */
  email: Scalars['String']['input'];
  /** The user first name */
  firstname?: InputMaybe<Scalars['String']['input']>;
  /** The user last name */
  lastname?: InputMaybe<Scalars['String']['input']>;
  /** The user login */
  login?: InputMaybe<Scalars['String']['input']>;
  /** Additional custom attributes (names + values) */
  objectAttributeValues?: InputMaybe<Array<ObjectAttributeValueInput>>;
  /** The user password */
  password: Scalars['String']['input'];
};

/** Autogenerated return type of UserSignup. */
export type UserSignupPayload = {
  __typename?: 'UserSignupPayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** This indicates if creating the user and sending the token was successful. */
  success?: Maybe<Scalars['Boolean']['output']>;
};

/** Autogenerated return type of UserSignupResend. */
export type UserSignupResendPayload = {
  __typename?: 'UserSignupResendPayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** This indicates if sending of the token via email was successful. */
  success?: Maybe<Scalars['Boolean']['output']>;
};

/** Autogenerated return type of UserSignupVerify. */
export type UserSignupVerifyPayload = {
  __typename?: 'UserSignupVerifyPayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** The current session, if the verification was successful. */
  session?: Maybe<Session>;
};

/** Two factor authentication methods available for the user about to log-in. */
export type UserTwoFactorMethods = {
  __typename?: 'UserTwoFactorMethods';
  availableTwoFactorAuthenticationMethods: Array<EnumTwoFactorAuthenticationMethod>;
  defaultTwoFactorAuthenticationMethod?: Maybe<EnumTwoFactorAuthenticationMethod>;
  recoveryCodesAvailable: Scalars['Boolean']['output'];
};

/** Autogenerated return type of UserUpdate. */
export type UserUpdatePayload = {
  __typename?: 'UserUpdatePayload';
  /** Errors encountered during execution of the mutation. */
  errors?: Maybe<Array<UserError>>;
  /** The created user. */
  user?: Maybe<User>;
};

/** Autogenerated return type of UserUpdates. */
export type UserUpdatesPayload = {
  __typename?: 'UserUpdatesPayload';
  /** Updated user */
  user?: Maybe<User>;
};

export type ChannelEmailAddMutationVariables = Exact<{
  input: ChannelEmailAddInput;
}>;


export type ChannelEmailAddMutation = { __typename?: 'Mutations', channelEmailAdd?: { __typename?: 'ChannelEmailAddPayload', channel?: { __typename?: 'Channel', options?: any | null, group?: { __typename?: 'Group', id: string } | null } | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type ChannelEmailGuessConfigurationMutationVariables = Exact<{
  emailAddress: Scalars['String']['input'];
  password: Scalars['String']['input'];
}>;


export type ChannelEmailGuessConfigurationMutation = { __typename?: 'Mutations', channelEmailGuessConfiguration?: { __typename?: 'ChannelEmailGuessConfigurationPayload', result: { __typename?: 'ChannelEmailGuessConfigurationResult', inboundConfiguration?: { __typename?: 'ChannelEmailInboundConfiguration', adapter: EnumChannelEmailInboundAdapter, host?: string | null, port?: number | null, ssl?: EnumChannelEmailSsl | null, user?: string | null, password?: string | null, sslVerify?: boolean | null, folder?: string | null } | null, outboundConfiguration?: { __typename?: 'ChannelEmailOutboundConfiguration', adapter: EnumChannelEmailOutboundAdapter, host?: string | null, port?: number | null, user?: string | null, password?: string | null, sslVerify?: boolean | null } | null, mailboxStats?: { __typename?: 'ChannelEmailInboundMailboxStats', contentMessages?: number | null, archivePossible?: boolean | null, archiveWeekRange?: number | null } | null }, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type ChannelEmailSetNotificationConfigurationMutationVariables = Exact<{
  outboundConfiguration: ChannelEmailOutboundConfigurationInput;
}>;


export type ChannelEmailSetNotificationConfigurationMutation = { __typename?: 'Mutations', channelEmailSetNotificationConfiguration?: { __typename?: 'ChannelEmailSetNotificationConfigurationPayload', success?: boolean | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type ChannelEmailValidateConfigurationInboundMutationVariables = Exact<{
  inboundConfiguration: ChannelEmailInboundConfigurationInput;
}>;


export type ChannelEmailValidateConfigurationInboundMutation = { __typename?: 'Mutations', channelEmailValidateConfigurationInbound?: { __typename?: 'ChannelEmailValidateConfigurationInboundPayload', success?: boolean | null, mailboxStats?: { __typename?: 'ChannelEmailInboundMailboxStats', contentMessages?: number | null, archivePossible?: boolean | null, archiveWeekRange?: number | null } | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type ChannelEmailValidateConfigurationOutboundMutationVariables = Exact<{
  outboundConfiguration: ChannelEmailOutboundConfigurationInput;
  emailAddress: Scalars['String']['input'];
}>;


export type ChannelEmailValidateConfigurationOutboundMutation = { __typename?: 'Mutations', channelEmailValidateConfigurationOutbound?: { __typename?: 'ChannelEmailValidateConfigurationOutboundPayload', success: boolean, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type ChannelEmailValidateConfigurationRoundtripMutationVariables = Exact<{
  inboundConfiguration: ChannelEmailInboundConfigurationInput;
  outboundConfiguration: ChannelEmailOutboundConfigurationInput;
  emailAddress: Scalars['String']['input'];
}>;


export type ChannelEmailValidateConfigurationRoundtripMutation = { __typename?: 'Mutations', channelEmailValidateConfigurationRoundtrip?: { __typename?: 'ChannelEmailValidateConfigurationRoundtripPayload', success: boolean, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type EmailAddressesQueryVariables = Exact<{
  onlyActive?: InputMaybe<Scalars['Boolean']['input']>;
}>;


export type EmailAddressesQuery = { __typename?: 'Queries', emailAddresses: Array<{ __typename?: 'EmailAddress', name: string, email: string, active: boolean }> };

export type AdminPasswordAuthSendMutationVariables = Exact<{
  login: Scalars['String']['input'];
}>;


export type AdminPasswordAuthSendMutation = { __typename?: 'Mutations', adminPasswordAuthSend?: { __typename?: 'AdminPasswordAuthSendPayload', success?: boolean | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type AdminPasswordAuthVerifyMutationVariables = Exact<{
  token: Scalars['String']['input'];
}>;


export type AdminPasswordAuthVerifyMutation = { __typename?: 'Mutations', adminPasswordAuthVerify?: { __typename?: 'AdminPasswordAuthVerifyPayload', login?: string | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type UserPasswordResetSendMutationVariables = Exact<{
  username: Scalars['String']['input'];
}>;


export type UserPasswordResetSendMutation = { __typename?: 'Mutations', userPasswordResetSend?: { __typename?: 'UserPasswordResetSendPayload', success?: boolean | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type UserPasswordResetUpdateMutationVariables = Exact<{
  token: Scalars['String']['input'];
  password: Scalars['String']['input'];
}>;


export type UserPasswordResetUpdateMutation = { __typename?: 'Mutations', userPasswordResetUpdate?: { __typename?: 'UserPasswordResetUpdatePayload', success?: boolean | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type UserPasswordResetVerifyMutationVariables = Exact<{
  token: Scalars['String']['input'];
}>;


export type UserPasswordResetVerifyMutation = { __typename?: 'Mutations', userPasswordResetVerify?: { __typename?: 'UserPasswordResetVerifyPayload', success?: boolean | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type UserSignupMutationVariables = Exact<{
  input: UserSignupInput;
}>;


export type UserSignupMutation = { __typename?: 'Mutations', userSignup?: { __typename?: 'UserSignupPayload', success?: boolean | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type UserSignupResendMutationVariables = Exact<{
  email: Scalars['String']['input'];
}>;


export type UserSignupResendMutation = { __typename?: 'Mutations', userSignupResend?: { __typename?: 'UserSignupResendPayload', success?: boolean | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type UserSignupVerifyMutationVariables = Exact<{
  token: Scalars['String']['input'];
}>;


export type UserSignupVerifyMutation = { __typename?: 'Mutations', userSignupVerify?: { __typename?: 'UserSignupVerifyPayload', session?: { __typename?: 'Session', id: string, afterAuth?: { __typename?: 'SessionAfterAuth', type: EnumAfterAuthType, data?: any | null } | null } | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type GuidedSetupSetSystemInformationMutationVariables = Exact<{
  input: SystemInformation;
}>;


export type GuidedSetupSetSystemInformationMutation = { __typename?: 'Mutations', guidedSetupSetSystemInformation?: { __typename?: 'GuidedSetupSetSystemInformationPayload', success?: boolean | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type SystemImportConfigurationMutationVariables = Exact<{
  configuration: SystemImportConfigurationInput;
}>;


export type SystemImportConfigurationMutation = { __typename?: 'Mutations', systemImportConfiguration?: { __typename?: 'SystemImportConfigurationPayload', success: boolean, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type SystemImportStartMutationVariables = Exact<{ [key: string]: never; }>;


export type SystemImportStartMutation = { __typename?: 'Mutations', systemImportStart?: { __typename?: 'SystemImportStartPayload', success: boolean, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type SystemSetupLockMutationVariables = Exact<{
  ttl?: InputMaybe<Scalars['Int']['input']>;
}>;


export type SystemSetupLockMutation = { __typename?: 'Mutations', systemSetupLock?: { __typename?: 'SystemSetupLockPayload', resource?: string | null, value?: string | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type SystemSetupRunAutoWizardMutationVariables = Exact<{
  token?: InputMaybe<Scalars['String']['input']>;
}>;


export type SystemSetupRunAutoWizardMutation = { __typename?: 'Mutations', systemSetupRunAutoWizard?: { __typename?: 'SystemSetupRunAutoWizardPayload', session?: { __typename?: 'Session', id: string, afterAuth?: { __typename?: 'SessionAfterAuth', type: EnumAfterAuthType, data?: any | null } | null } | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type SystemSetupUnlockMutationVariables = Exact<{
  value: Scalars['String']['input'];
}>;


export type SystemSetupUnlockMutation = { __typename?: 'Mutations', systemSetupUnlock?: { __typename?: 'SystemSetupUnlockPayload', success?: boolean | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type UserAddFirstAdminMutationVariables = Exact<{
  input: UserSignupInput;
}>;


export type UserAddFirstAdminMutation = { __typename?: 'Mutations', userAddFirstAdmin?: { __typename?: 'UserAddFirstAdminPayload', session?: { __typename?: 'Session', id: string, afterAuth?: { __typename?: 'SessionAfterAuth', type: EnumAfterAuthType, data?: any | null } | null } | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type SystemImportStateQueryVariables = Exact<{ [key: string]: never; }>;


export type SystemImportStateQuery = { __typename?: 'Queries', systemImportState?: { __typename?: 'ImportJob', name: string, result?: any | null, startedAt?: string | null, finishedAt?: string | null } | null };

export type SystemSetupInfoQueryVariables = Exact<{ [key: string]: never; }>;


export type SystemSetupInfoQuery = { __typename?: 'Queries', systemSetupInfo: { __typename?: 'SystemSetupInfo', status: EnumSystemSetupInfoStatus, type?: EnumSystemSetupInfoType | null } };

export type FormUploadCacheAddMutationVariables = Exact<{
  formId: Scalars['FormId']['input'];
  files: Array<UploadFileInput> | UploadFileInput;
}>;


export type FormUploadCacheAddMutation = { __typename?: 'Mutations', formUploadCacheAdd?: { __typename?: 'FormUploadCacheAddPayload', uploadedFiles: Array<{ __typename?: 'StoredFile', id: string, name: string, size?: number | null, type?: string | null }> } | null };

export type FormUploadCacheRemoveMutationVariables = Exact<{
  formId: Scalars['FormId']['input'];
  fileIds: Array<Scalars['ID']['input']> | Scalars['ID']['input'];
}>;


export type FormUploadCacheRemoveMutation = { __typename?: 'Mutations', formUploadCacheRemove?: { __typename?: 'FormUploadCacheRemovePayload', success: boolean } | null };

export type OrganizationAttributesFragment = { __typename?: 'Organization', id: string, internalId: number, name?: string | null, shared?: boolean | null, domain?: string | null, domainAssignment?: boolean | null, active?: boolean | null, note?: string | null, vip?: boolean | null, ticketsCount?: { __typename?: 'TicketCount', open: number, closed: number } | null, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null };

export type OrganizationMembersFragment = { __typename?: 'Organization', members?: { __typename?: 'UserConnection', totalCount: number, edges: Array<{ __typename?: 'UserEdge', node: { __typename?: 'User', id: string, internalId: number, image?: string | null, firstname?: string | null, lastname?: string | null, fullname?: string | null, outOfOffice?: boolean | null, active?: boolean | null, vip?: boolean | null } }> } | null };

export type OrganizationUpdateMutationVariables = Exact<{
  id: Scalars['ID']['input'];
  input: OrganizationInput;
}>;


export type OrganizationUpdateMutation = { __typename?: 'Mutations', organizationUpdate?: { __typename?: 'OrganizationUpdatePayload', organization?: { __typename?: 'Organization', id: string, internalId: number, name?: string | null, shared?: boolean | null, domain?: string | null, domainAssignment?: boolean | null, active?: boolean | null, note?: string | null, vip?: boolean | null, ticketsCount?: { __typename?: 'TicketCount', open: number, closed: number } | null, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null } | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type OrganizationQueryVariables = Exact<{
  organizationId?: InputMaybe<Scalars['ID']['input']>;
  organizationInternalId?: InputMaybe<Scalars['Int']['input']>;
  membersCount?: InputMaybe<Scalars['Int']['input']>;
}>;


export type OrganizationQuery = { __typename?: 'Queries', organization: { __typename?: 'Organization', id: string, internalId: number, name?: string | null, shared?: boolean | null, domain?: string | null, domainAssignment?: boolean | null, active?: boolean | null, note?: string | null, vip?: boolean | null, policy: { __typename?: 'PolicyDefault', update: boolean }, ticketsCount?: { __typename?: 'TicketCount', open: number, closed: number } | null, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null, members?: { __typename?: 'UserConnection', totalCount: number, edges: Array<{ __typename?: 'UserEdge', node: { __typename?: 'User', id: string, internalId: number, image?: string | null, firstname?: string | null, lastname?: string | null, fullname?: string | null, outOfOffice?: boolean | null, active?: boolean | null, vip?: boolean | null } }> } | null } };

export type OrganizationUpdatesSubscriptionVariables = Exact<{
  organizationId: Scalars['ID']['input'];
  membersCount?: InputMaybe<Scalars['Int']['input']>;
}>;


export type OrganizationUpdatesSubscription = { __typename?: 'Subscriptions', organizationUpdates: { __typename?: 'OrganizationUpdatesPayload', organization?: { __typename?: 'Organization', id: string, internalId: number, name?: string | null, shared?: boolean | null, domain?: string | null, domainAssignment?: boolean | null, active?: boolean | null, note?: string | null, vip?: boolean | null, ticketsCount?: { __typename?: 'TicketCount', open: number, closed: number } | null, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null, members?: { __typename?: 'UserConnection', totalCount: number, edges: Array<{ __typename?: 'UserEdge', node: { __typename?: 'User', id: string, internalId: number, image?: string | null, firstname?: string | null, lastname?: string | null, fullname?: string | null, outOfOffice?: boolean | null, active?: boolean | null, vip?: boolean | null } }> } | null } | null } };

export type TicketOverviewTicketCountQueryVariables = Exact<{ [key: string]: never; }>;


export type TicketOverviewTicketCountQuery = { __typename?: 'Queries', ticketOverviews: { __typename?: 'OverviewConnection', edges: Array<{ __typename?: 'OverviewEdge', cursor: string, node: { __typename?: 'Overview', id: string, ticketCount: number } }>, pageInfo: { __typename?: 'PageInfo', endCursor?: string | null, hasNextPage: boolean } } };

export type TicketOverviewUpdatesSubscriptionVariables = Exact<{
  withTicketCount: Scalars['Boolean']['input'];
}>;


export type TicketOverviewUpdatesSubscription = { __typename?: 'Subscriptions', ticketOverviewUpdates: { __typename?: 'TicketOverviewUpdatesPayload', ticketOverviews?: { __typename?: 'OverviewConnection', edges: Array<{ __typename?: 'OverviewEdge', cursor: string, node: { __typename?: 'Overview', id: string, name: string, link: string, prio: number, orderBy: string, orderDirection: EnumOrderDirection, active: boolean, ticketCount?: number, viewColumns: Array<{ __typename?: 'KeyValue', key: string, value?: string | null }>, orderColumns: Array<{ __typename?: 'KeyValue', key: string, value?: string | null }> } }>, pageInfo: { __typename?: 'PageInfo', endCursor?: string | null, hasNextPage: boolean } } | null } };

export type UserQueryVariables = Exact<{
  userId?: InputMaybe<Scalars['ID']['input']>;
  userInternalId?: InputMaybe<Scalars['Int']['input']>;
  secondaryOrganizationsCount?: InputMaybe<Scalars['Int']['input']>;
}>;


export type UserQuery = { __typename?: 'Queries', user: { __typename?: 'User', id: string, internalId: number, firstname?: string | null, lastname?: string | null, fullname?: string | null, image?: string | null, email?: string | null, web?: string | null, vip?: boolean | null, phone?: string | null, outOfOffice?: boolean | null, mobile?: string | null, fax?: string | null, note?: string | null, active?: boolean | null, hasSecondaryOrganizations?: boolean | null, policy: { __typename?: 'PolicyDefault', update: boolean }, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null, organization?: { __typename?: 'Organization', id: string, internalId: number, name?: string | null, active?: boolean | null, vip?: boolean | null, ticketsCount?: { __typename?: 'TicketCount', open: number, closed: number } | null } | null, secondaryOrganizations?: { __typename?: 'OrganizationConnection', totalCount: number, edges: Array<{ __typename?: 'OrganizationEdge', node: { __typename?: 'Organization', id: string, internalId: number, active?: boolean | null, name?: string | null } }> } | null, ticketsCount?: { __typename?: 'TicketCount', open: number, closed: number } | null } };

export type AccountAvatarAddMutationVariables = Exact<{
  images: AvatarInput;
}>;


export type AccountAvatarAddMutation = { __typename?: 'Mutations', accountAvatarAdd?: { __typename?: 'AccountAvatarAddPayload', avatar?: { __typename?: 'Avatar', id: string, default: boolean, deletable: boolean, initial: boolean, imageFull?: string | null, imageResize?: string | null, createdAt: string, updatedAt: string } | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type AccountAvatarDeleteMutationVariables = Exact<{
  id: Scalars['ID']['input'];
}>;


export type AccountAvatarDeleteMutation = { __typename?: 'Mutations', accountAvatarDelete?: { __typename?: 'AccountAvatarDeletePayload', success: boolean, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type AccountAvatarActiveQueryVariables = Exact<{ [key: string]: never; }>;


export type AccountAvatarActiveQuery = { __typename?: 'Queries', accountAvatarActive?: { __typename?: 'Avatar', id: string, default: boolean, deletable: boolean, initial: boolean, imageFull?: string | null, imageResize?: string | null, createdAt: string, updatedAt: string } | null };

export type AccountLocaleMutationVariables = Exact<{
  locale: Scalars['String']['input'];
}>;


export type AccountLocaleMutation = { __typename?: 'Mutations', accountLocale?: { __typename?: 'AccountLocalePayload', success: boolean, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type SearchQueryVariables = Exact<{
  search: Scalars['String']['input'];
  onlyIn?: InputMaybe<EnumSearchableModels>;
  limit?: InputMaybe<Scalars['Int']['input']>;
}>;


export type SearchQuery = { __typename?: 'Queries', search: Array<{ __typename?: 'Organization', id: string, internalId: number, active?: boolean | null, name?: string | null, vip?: boolean | null, updatedAt: string, members?: { __typename?: 'UserConnection', totalCount: number, edges: Array<{ __typename?: 'UserEdge', node: { __typename?: 'User', id: string, fullname?: string | null } }> } | null, updatedBy?: { __typename?: 'User', id: string, fullname?: string | null } | null, ticketsCount?: { __typename?: 'TicketCount', open: number, closed: number } | null } | { __typename?: 'Ticket', id: string, internalId: number, title: string, number: string, updatedAt: string, stateColorCode: EnumTicketStateColorCode, state: { __typename?: 'TicketState', name: string }, priority: { __typename?: 'TicketPriority', name: string, defaultCreate: boolean, uiColor?: string | null }, customer: { __typename?: 'User', id: string, internalId: number, fullname?: string | null }, updatedBy?: { __typename?: 'User', id: string, fullname?: string | null } | null } | { __typename?: 'User', id: string, internalId: number, firstname?: string | null, lastname?: string | null, image?: string | null, active?: boolean | null, outOfOffice?: boolean | null, vip?: boolean | null, updatedAt: string, organization?: { __typename?: 'Organization', id: string, internalId: number, name?: string | null } | null, updatedBy?: { __typename?: 'User', id: string, fullname?: string | null } | null, ticketsCount?: { __typename?: 'TicketCount', open: number, closed: number } | null }> };

export type TicketLiveUserAttributesFragment = { __typename?: 'TicketLiveUser', user: { __typename?: 'User', id: string, firstname?: string | null, lastname?: string | null, fullname?: string | null, email?: string | null, vip?: boolean | null, outOfOffice?: boolean | null, active?: boolean | null, image?: string | null }, apps: Array<{ __typename?: 'TicketLiveUserApp', name: EnumTaskbarApp, editing: boolean, lastInteraction: string }> };

export type TicketArticleAttributesFragment = { __typename?: 'TicketArticle', id: string, internalId: number, messageId?: string | null, subject?: string | null, messageIdMd5?: string | null, inReplyTo?: string | null, contentType: string, references?: string | null, preferences?: any | null, bodyWithUrls: string, internal: boolean, createdAt: string, from?: { __typename?: 'AddressesField', raw: string, parsed?: Array<{ __typename?: 'EmailAddressParsed', name?: string | null, emailAddress?: string | null, isSystemAddress: boolean }> | null } | null, to?: { __typename?: 'AddressesField', raw: string, parsed?: Array<{ __typename?: 'EmailAddressParsed', name?: string | null, emailAddress?: string | null, isSystemAddress: boolean }> | null } | null, cc?: { __typename?: 'AddressesField', raw: string, parsed?: Array<{ __typename?: 'EmailAddressParsed', name?: string | null, emailAddress?: string | null, isSystemAddress: boolean }> | null } | null, replyTo?: { __typename?: 'AddressesField', raw: string, parsed?: Array<{ __typename?: 'EmailAddressParsed', name?: string | null, emailAddress?: string | null, isSystemAddress: boolean }> | null } | null, attachmentsWithoutInline: Array<{ __typename?: 'StoredFile', internalId: number, name: string, size?: number | null, type?: string | null, preferences?: any | null }>, author: { __typename?: 'User', id: string, fullname?: string | null, firstname?: string | null, lastname?: string | null, email?: string | null, active?: boolean | null, image?: string | null, vip?: boolean | null, outOfOffice?: boolean | null, authorizations?: Array<{ __typename?: 'Authorization', provider: string, uid: string, username?: string | null }> | null }, type?: { __typename?: 'TicketArticleType', name?: string | null, communication?: boolean | null } | null, sender?: { __typename?: 'TicketArticleSender', name?: string | null } | null, securityState?: { __typename?: 'TicketArticleSecurityState', encryptionMessage?: string | null, encryptionSuccess?: boolean | null, signingMessage?: string | null, signingSuccess?: boolean | null, type?: EnumSecurityStateType | null } | null, mediaErrorState?: { __typename?: 'TicketArticleMediaErrorState', error?: boolean | null } | null };

export type TicketAttributesFragment = { __typename?: 'Ticket', id: string, internalId: number, number: string, title: string, createdAt: string, escalationAt?: string | null, updatedAt: string, pendingTime?: string | null, tags?: Array<string> | null, timeUnit?: number | null, subscribed?: boolean | null, preferences?: any | null, stateColorCode: EnumTicketStateColorCode, firstResponseEscalationAt?: string | null, closeEscalationAt?: string | null, updateEscalationAt?: string | null, initialChannel?: EnumChannelArea | null, owner: { __typename?: 'User', id: string, internalId: number, firstname?: string | null, lastname?: string | null }, customer: { __typename?: 'User', id: string, internalId: number, firstname?: string | null, lastname?: string | null, fullname?: string | null, phone?: string | null, image?: string | null, vip?: boolean | null, active?: boolean | null, outOfOffice?: boolean | null, email?: string | null, hasSecondaryOrganizations?: boolean | null, organization?: { __typename?: 'Organization', id: string, internalId: number, name?: string | null, active?: boolean | null, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null } | null, policy: { __typename?: 'PolicyDefault', update: boolean } }, organization?: { __typename?: 'Organization', id: string, internalId: number, name?: string | null, vip?: boolean | null, active?: boolean | null } | null, state: { __typename?: 'TicketState', id: string, name: string, stateType: { __typename?: 'TicketStateType', name: string } }, group: { __typename?: 'Group', id: string, name?: string | null, emailAddress?: { __typename?: 'EmailAddressParsed', name?: string | null, emailAddress?: string | null } | null }, priority: { __typename?: 'TicketPriority', id: string, name: string, defaultCreate: boolean, uiColor?: string | null }, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null, policy: { __typename?: 'PolicyTicket', update: boolean, agentReadAccess: boolean }, timeUnitsPerType?: Array<{ __typename?: 'TicketTimeAccountingTypeSum', name: string, timeUnit: number }> | null };

export type TicketMentionFragment = { __typename?: 'Mention', user: { __typename?: 'User', id: string, internalId: number, firstname?: string | null, lastname?: string | null, fullname?: string | null, vip?: boolean | null, outOfOffice?: boolean | null, active?: boolean | null, image?: string | null } };

export type TicketCreateMutationVariables = Exact<{
  input: TicketCreateInput;
}>;


export type TicketCreateMutation = { __typename?: 'Mutations', ticketCreate?: { __typename?: 'TicketCreatePayload', ticket?: { __typename?: 'Ticket', id: string, internalId: number, number: string, title: string, createdAt: string, escalationAt?: string | null, updatedAt: string, pendingTime?: string | null, tags?: Array<string> | null, timeUnit?: number | null, subscribed?: boolean | null, preferences?: any | null, stateColorCode: EnumTicketStateColorCode, firstResponseEscalationAt?: string | null, closeEscalationAt?: string | null, updateEscalationAt?: string | null, initialChannel?: EnumChannelArea | null, owner: { __typename?: 'User', id: string, internalId: number, firstname?: string | null, lastname?: string | null }, customer: { __typename?: 'User', id: string, internalId: number, firstname?: string | null, lastname?: string | null, fullname?: string | null, phone?: string | null, image?: string | null, vip?: boolean | null, active?: boolean | null, outOfOffice?: boolean | null, email?: string | null, hasSecondaryOrganizations?: boolean | null, organization?: { __typename?: 'Organization', id: string, internalId: number, name?: string | null, active?: boolean | null, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null } | null, policy: { __typename?: 'PolicyDefault', update: boolean } }, organization?: { __typename?: 'Organization', id: string, internalId: number, name?: string | null, vip?: boolean | null, active?: boolean | null } | null, state: { __typename?: 'TicketState', id: string, name: string, stateType: { __typename?: 'TicketStateType', name: string } }, group: { __typename?: 'Group', id: string, name?: string | null, emailAddress?: { __typename?: 'EmailAddressParsed', name?: string | null, emailAddress?: string | null } | null }, priority: { __typename?: 'TicketPriority', id: string, name: string, defaultCreate: boolean, uiColor?: string | null }, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null, policy: { __typename?: 'PolicyTicket', update: boolean, agentReadAccess: boolean }, timeUnitsPerType?: Array<{ __typename?: 'TicketTimeAccountingTypeSum', name: string, timeUnit: number }> | null } | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type TicketLiveUserDeleteMutationVariables = Exact<{
  id: Scalars['ID']['input'];
  app: EnumTaskbarApp;
}>;


export type TicketLiveUserDeleteMutation = { __typename?: 'Mutations', ticketLiveUserDelete?: { __typename?: 'TicketLiveUserDeletePayload', success: boolean, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type TicketLiveUserUpsertMutationVariables = Exact<{
  id: Scalars['ID']['input'];
  app: EnumTaskbarApp;
  editing: Scalars['Boolean']['input'];
}>;


export type TicketLiveUserUpsertMutation = { __typename?: 'Mutations', ticketLiveUserUpsert?: { __typename?: 'TicketLiveUserUpsertPayload', success: boolean, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type TicketUpdateMutationVariables = Exact<{
  ticketId: Scalars['ID']['input'];
  input: TicketUpdateInput;
}>;


export type TicketUpdateMutation = { __typename?: 'Mutations', ticketUpdate?: { __typename?: 'TicketUpdatePayload', ticket?: { __typename?: 'Ticket', id: string, internalId: number, number: string, title: string, createdAt: string, escalationAt?: string | null, updatedAt: string, pendingTime?: string | null, tags?: Array<string> | null, timeUnit?: number | null, subscribed?: boolean | null, preferences?: any | null, stateColorCode: EnumTicketStateColorCode, firstResponseEscalationAt?: string | null, closeEscalationAt?: string | null, updateEscalationAt?: string | null, initialChannel?: EnumChannelArea | null, owner: { __typename?: 'User', id: string, internalId: number, firstname?: string | null, lastname?: string | null }, customer: { __typename?: 'User', id: string, internalId: number, firstname?: string | null, lastname?: string | null, fullname?: string | null, phone?: string | null, image?: string | null, vip?: boolean | null, active?: boolean | null, outOfOffice?: boolean | null, email?: string | null, hasSecondaryOrganizations?: boolean | null, organization?: { __typename?: 'Organization', id: string, internalId: number, name?: string | null, active?: boolean | null, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null } | null, policy: { __typename?: 'PolicyDefault', update: boolean } }, organization?: { __typename?: 'Organization', id: string, internalId: number, name?: string | null, vip?: boolean | null, active?: boolean | null } | null, state: { __typename?: 'TicketState', id: string, name: string, stateType: { __typename?: 'TicketStateType', name: string } }, group: { __typename?: 'Group', id: string, name?: string | null, emailAddress?: { __typename?: 'EmailAddressParsed', name?: string | null, emailAddress?: string | null } | null }, priority: { __typename?: 'TicketPriority', id: string, name: string, defaultCreate: boolean, uiColor?: string | null }, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null, policy: { __typename?: 'PolicyTicket', update: boolean, agentReadAccess: boolean }, timeUnitsPerType?: Array<{ __typename?: 'TicketTimeAccountingTypeSum', name: string, timeUnit: number }> | null } | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type AutocompleteSearchMergeTicketQueryVariables = Exact<{
  input: AutocompleteSearchMergeTicketInput;
}>;


export type AutocompleteSearchMergeTicketQuery = { __typename?: 'Queries', autocompleteSearchMergeTicket: Array<{ __typename?: 'AutocompleteSearchMergeTicketEntry', value: string, label: string, labelPlaceholder?: Array<string> | null, heading?: string | null, headingPlaceholder?: Array<string> | null, disabled?: boolean | null, icon?: string | null, ticket: { __typename?: 'Ticket', id: string, number: string, internalId: number, stateColorCode: EnumTicketStateColorCode, state: { __typename?: 'TicketState', id: string, name: string } } }> };

export type TicketQueryVariables = Exact<{
  ticketId?: InputMaybe<Scalars['ID']['input']>;
  ticketInternalId?: InputMaybe<Scalars['Int']['input']>;
  ticketNumber?: InputMaybe<Scalars['String']['input']>;
  mentionsCount?: InputMaybe<Scalars['Int']['input']>;
}>;


export type TicketQuery = { __typename?: 'Queries', ticket: { __typename?: 'Ticket', id: string, internalId: number, number: string, title: string, createdAt: string, escalationAt?: string | null, updatedAt: string, pendingTime?: string | null, tags?: Array<string> | null, timeUnit?: number | null, subscribed?: boolean | null, preferences?: any | null, stateColorCode: EnumTicketStateColorCode, firstResponseEscalationAt?: string | null, closeEscalationAt?: string | null, updateEscalationAt?: string | null, initialChannel?: EnumChannelArea | null, createArticleType?: { __typename?: 'TicketArticleType', id: string, name?: string | null } | null, mentions?: { __typename?: 'MentionConnection', totalCount: number, edges: Array<{ __typename?: 'MentionEdge', cursor: string, node: { __typename?: 'Mention', user: { __typename?: 'User', id: string, internalId: number, firstname?: string | null, lastname?: string | null, fullname?: string | null, vip?: boolean | null, outOfOffice?: boolean | null, active?: boolean | null, image?: string | null } } }> } | null, owner: { __typename?: 'User', id: string, internalId: number, firstname?: string | null, lastname?: string | null }, customer: { __typename?: 'User', id: string, internalId: number, firstname?: string | null, lastname?: string | null, fullname?: string | null, phone?: string | null, image?: string | null, vip?: boolean | null, active?: boolean | null, outOfOffice?: boolean | null, email?: string | null, hasSecondaryOrganizations?: boolean | null, organization?: { __typename?: 'Organization', id: string, internalId: number, name?: string | null, active?: boolean | null, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null } | null, policy: { __typename?: 'PolicyDefault', update: boolean } }, organization?: { __typename?: 'Organization', id: string, internalId: number, name?: string | null, vip?: boolean | null, active?: boolean | null } | null, state: { __typename?: 'TicketState', id: string, name: string, stateType: { __typename?: 'TicketStateType', name: string } }, group: { __typename?: 'Group', id: string, name?: string | null, emailAddress?: { __typename?: 'EmailAddressParsed', name?: string | null, emailAddress?: string | null } | null }, priority: { __typename?: 'TicketPriority', id: string, name: string, defaultCreate: boolean, uiColor?: string | null }, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null, policy: { __typename?: 'PolicyTicket', update: boolean, agentReadAccess: boolean }, timeUnitsPerType?: Array<{ __typename?: 'TicketTimeAccountingTypeSum', name: string, timeUnit: number }> | null } };

export type TicketArticlesQueryVariables = Exact<{
  ticketId?: InputMaybe<Scalars['ID']['input']>;
  ticketInternalId?: InputMaybe<Scalars['Int']['input']>;
  ticketNumber?: InputMaybe<Scalars['String']['input']>;
  beforeCursor?: InputMaybe<Scalars['String']['input']>;
  afterCursor?: InputMaybe<Scalars['String']['input']>;
  pageSize?: InputMaybe<Scalars['Int']['input']>;
  loadDescription?: InputMaybe<Scalars['Boolean']['input']>;
}>;


export type TicketArticlesQuery = { __typename?: 'Queries', description?: { __typename?: 'TicketArticleConnection', edges: Array<{ __typename?: 'TicketArticleEdge', node: { __typename?: 'TicketArticle', id: string, internalId: number, messageId?: string | null, subject?: string | null, messageIdMd5?: string | null, inReplyTo?: string | null, contentType: string, references?: string | null, preferences?: any | null, bodyWithUrls: string, internal: boolean, createdAt: string, from?: { __typename?: 'AddressesField', raw: string, parsed?: Array<{ __typename?: 'EmailAddressParsed', name?: string | null, emailAddress?: string | null, isSystemAddress: boolean }> | null } | null, to?: { __typename?: 'AddressesField', raw: string, parsed?: Array<{ __typename?: 'EmailAddressParsed', name?: string | null, emailAddress?: string | null, isSystemAddress: boolean }> | null } | null, cc?: { __typename?: 'AddressesField', raw: string, parsed?: Array<{ __typename?: 'EmailAddressParsed', name?: string | null, emailAddress?: string | null, isSystemAddress: boolean }> | null } | null, replyTo?: { __typename?: 'AddressesField', raw: string, parsed?: Array<{ __typename?: 'EmailAddressParsed', name?: string | null, emailAddress?: string | null, isSystemAddress: boolean }> | null } | null, attachmentsWithoutInline: Array<{ __typename?: 'StoredFile', internalId: number, name: string, size?: number | null, type?: string | null, preferences?: any | null }>, author: { __typename?: 'User', id: string, fullname?: string | null, firstname?: string | null, lastname?: string | null, email?: string | null, active?: boolean | null, image?: string | null, vip?: boolean | null, outOfOffice?: boolean | null, authorizations?: Array<{ __typename?: 'Authorization', provider: string, uid: string, username?: string | null }> | null }, type?: { __typename?: 'TicketArticleType', name?: string | null, communication?: boolean | null } | null, sender?: { __typename?: 'TicketArticleSender', name?: string | null } | null, securityState?: { __typename?: 'TicketArticleSecurityState', encryptionMessage?: string | null, encryptionSuccess?: boolean | null, signingMessage?: string | null, signingSuccess?: boolean | null, type?: EnumSecurityStateType | null } | null, mediaErrorState?: { __typename?: 'TicketArticleMediaErrorState', error?: boolean | null } | null } }> }, articles: { __typename?: 'TicketArticleConnection', totalCount: number, edges: Array<{ __typename?: 'TicketArticleEdge', cursor: string, node: { __typename?: 'TicketArticle', id: string, internalId: number, messageId?: string | null, subject?: string | null, messageIdMd5?: string | null, inReplyTo?: string | null, contentType: string, references?: string | null, preferences?: any | null, bodyWithUrls: string, internal: boolean, createdAt: string, from?: { __typename?: 'AddressesField', raw: string, parsed?: Array<{ __typename?: 'EmailAddressParsed', name?: string | null, emailAddress?: string | null, isSystemAddress: boolean }> | null } | null, to?: { __typename?: 'AddressesField', raw: string, parsed?: Array<{ __typename?: 'EmailAddressParsed', name?: string | null, emailAddress?: string | null, isSystemAddress: boolean }> | null } | null, cc?: { __typename?: 'AddressesField', raw: string, parsed?: Array<{ __typename?: 'EmailAddressParsed', name?: string | null, emailAddress?: string | null, isSystemAddress: boolean }> | null } | null, replyTo?: { __typename?: 'AddressesField', raw: string, parsed?: Array<{ __typename?: 'EmailAddressParsed', name?: string | null, emailAddress?: string | null, isSystemAddress: boolean }> | null } | null, attachmentsWithoutInline: Array<{ __typename?: 'StoredFile', internalId: number, name: string, size?: number | null, type?: string | null, preferences?: any | null }>, author: { __typename?: 'User', id: string, fullname?: string | null, firstname?: string | null, lastname?: string | null, email?: string | null, active?: boolean | null, image?: string | null, vip?: boolean | null, outOfOffice?: boolean | null, authorizations?: Array<{ __typename?: 'Authorization', provider: string, uid: string, username?: string | null }> | null }, type?: { __typename?: 'TicketArticleType', name?: string | null, communication?: boolean | null } | null, sender?: { __typename?: 'TicketArticleSender', name?: string | null } | null, securityState?: { __typename?: 'TicketArticleSecurityState', encryptionMessage?: string | null, encryptionSuccess?: boolean | null, signingMessage?: string | null, signingSuccess?: boolean | null, type?: EnumSecurityStateType | null } | null, mediaErrorState?: { __typename?: 'TicketArticleMediaErrorState', error?: boolean | null } | null } }>, pageInfo: { __typename?: 'PageInfo', endCursor?: string | null, startCursor?: string | null, hasPreviousPage: boolean } } };

export type TicketsByOverviewQueryVariables = Exact<{
  overviewId: Scalars['ID']['input'];
  orderBy?: InputMaybe<Scalars['String']['input']>;
  orderDirection?: InputMaybe<EnumOrderDirection>;
  cursor?: InputMaybe<Scalars['String']['input']>;
  showPriority: Scalars['Boolean']['input'];
  showUpdatedBy: Scalars['Boolean']['input'];
  pageSize?: InputMaybe<Scalars['Int']['input']>;
  withObjectAttributes?: InputMaybe<Scalars['Boolean']['input']>;
}>;


export type TicketsByOverviewQuery = { __typename?: 'Queries', ticketsByOverview: { __typename?: 'TicketConnection', totalCount: number, edges: Array<{ __typename?: 'TicketEdge', cursor: string, node: { __typename?: 'Ticket', id: string, internalId: number, number: string, title: string, createdAt: string, updatedAt: string, stateColorCode: EnumTicketStateColorCode, updatedBy?: { __typename?: 'User', id: string, fullname?: string | null } | null, customer: { __typename?: 'User', id: string, firstname?: string | null, lastname?: string | null, fullname?: string | null }, organization?: { __typename?: 'Organization', id: string, name?: string | null } | null, state: { __typename?: 'TicketState', id: string, name: string, stateType: { __typename?: 'TicketStateType', name: string } }, group: { __typename?: 'Group', id: string, name?: string | null }, priority?: { __typename?: 'TicketPriority', id: string, name: string, uiColor?: string | null, defaultCreate: boolean }, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null } }>, pageInfo: { __typename?: 'PageInfo', endCursor?: string | null, hasNextPage: boolean } } };

export type TicketLiveUserUpdatesSubscriptionVariables = Exact<{
  userId: Scalars['ID']['input'];
  key: Scalars['String']['input'];
  app: EnumTaskbarApp;
}>;


export type TicketLiveUserUpdatesSubscription = { __typename?: 'Subscriptions', ticketLiveUserUpdates: { __typename?: 'TicketLiveUserUpdatesPayload', liveUsers?: Array<{ __typename?: 'TicketLiveUser', user: { __typename?: 'User', id: string, firstname?: string | null, lastname?: string | null, fullname?: string | null, email?: string | null, vip?: boolean | null, outOfOffice?: boolean | null, active?: boolean | null, image?: string | null }, apps: Array<{ __typename?: 'TicketLiveUserApp', name: EnumTaskbarApp, editing: boolean, lastInteraction: string }> }> | null } };

export type TicketArticleUpdatesSubscriptionVariables = Exact<{
  ticketId: Scalars['ID']['input'];
}>;


export type TicketArticleUpdatesSubscription = { __typename?: 'Subscriptions', ticketArticleUpdates: { __typename?: 'TicketArticleUpdatesPayload', removeArticleId?: string | null, addArticle?: { __typename?: 'TicketArticle', id: string, createdAt: string } | null, updateArticle?: { __typename?: 'TicketArticle', id: string, internalId: number, messageId?: string | null, subject?: string | null, messageIdMd5?: string | null, inReplyTo?: string | null, contentType: string, references?: string | null, preferences?: any | null, bodyWithUrls: string, internal: boolean, createdAt: string, from?: { __typename?: 'AddressesField', raw: string, parsed?: Array<{ __typename?: 'EmailAddressParsed', name?: string | null, emailAddress?: string | null, isSystemAddress: boolean }> | null } | null, to?: { __typename?: 'AddressesField', raw: string, parsed?: Array<{ __typename?: 'EmailAddressParsed', name?: string | null, emailAddress?: string | null, isSystemAddress: boolean }> | null } | null, cc?: { __typename?: 'AddressesField', raw: string, parsed?: Array<{ __typename?: 'EmailAddressParsed', name?: string | null, emailAddress?: string | null, isSystemAddress: boolean }> | null } | null, replyTo?: { __typename?: 'AddressesField', raw: string, parsed?: Array<{ __typename?: 'EmailAddressParsed', name?: string | null, emailAddress?: string | null, isSystemAddress: boolean }> | null } | null, attachmentsWithoutInline: Array<{ __typename?: 'StoredFile', internalId: number, name: string, size?: number | null, type?: string | null, preferences?: any | null }>, author: { __typename?: 'User', id: string, fullname?: string | null, firstname?: string | null, lastname?: string | null, email?: string | null, active?: boolean | null, image?: string | null, vip?: boolean | null, outOfOffice?: boolean | null, authorizations?: Array<{ __typename?: 'Authorization', provider: string, uid: string, username?: string | null }> | null }, type?: { __typename?: 'TicketArticleType', name?: string | null, communication?: boolean | null } | null, sender?: { __typename?: 'TicketArticleSender', name?: string | null } | null, securityState?: { __typename?: 'TicketArticleSecurityState', encryptionMessage?: string | null, encryptionSuccess?: boolean | null, signingMessage?: string | null, signingSuccess?: boolean | null, type?: EnumSecurityStateType | null } | null, mediaErrorState?: { __typename?: 'TicketArticleMediaErrorState', error?: boolean | null } | null } | null } };

export type TicketUpdatesSubscriptionVariables = Exact<{
  ticketId: Scalars['ID']['input'];
}>;


export type TicketUpdatesSubscription = { __typename?: 'Subscriptions', ticketUpdates: { __typename?: 'TicketUpdatesPayload', ticket?: { __typename?: 'Ticket', id: string, internalId: number, number: string, title: string, createdAt: string, escalationAt?: string | null, updatedAt: string, pendingTime?: string | null, tags?: Array<string> | null, timeUnit?: number | null, subscribed?: boolean | null, preferences?: any | null, stateColorCode: EnumTicketStateColorCode, firstResponseEscalationAt?: string | null, closeEscalationAt?: string | null, updateEscalationAt?: string | null, initialChannel?: EnumChannelArea | null, mentions?: { __typename?: 'MentionConnection', totalCount: number, edges: Array<{ __typename?: 'MentionEdge', cursor: string, node: { __typename?: 'Mention', user: { __typename?: 'User', id: string, internalId: number, firstname?: string | null, lastname?: string | null, fullname?: string | null, vip?: boolean | null, outOfOffice?: boolean | null, active?: boolean | null, image?: string | null } } }> } | null, owner: { __typename?: 'User', id: string, internalId: number, firstname?: string | null, lastname?: string | null }, customer: { __typename?: 'User', id: string, internalId: number, firstname?: string | null, lastname?: string | null, fullname?: string | null, phone?: string | null, image?: string | null, vip?: boolean | null, active?: boolean | null, outOfOffice?: boolean | null, email?: string | null, hasSecondaryOrganizations?: boolean | null, organization?: { __typename?: 'Organization', id: string, internalId: number, name?: string | null, active?: boolean | null, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null } | null, policy: { __typename?: 'PolicyDefault', update: boolean } }, organization?: { __typename?: 'Organization', id: string, internalId: number, name?: string | null, vip?: boolean | null, active?: boolean | null } | null, state: { __typename?: 'TicketState', id: string, name: string, stateType: { __typename?: 'TicketStateType', name: string } }, group: { __typename?: 'Group', id: string, name?: string | null, emailAddress?: { __typename?: 'EmailAddressParsed', name?: string | null, emailAddress?: string | null } | null }, priority: { __typename?: 'TicketPriority', id: string, name: string, defaultCreate: boolean, uiColor?: string | null }, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null, policy: { __typename?: 'PolicyTicket', update: boolean, agentReadAccess: boolean }, timeUnitsPerType?: Array<{ __typename?: 'TicketTimeAccountingTypeSum', name: string, timeUnit: number }> | null } | null } };

export type UserUpdateMutationVariables = Exact<{
  id: Scalars['ID']['input'];
  input: UserInput;
}>;


export type UserUpdateMutation = { __typename?: 'Mutations', userUpdate?: { __typename?: 'UserUpdatePayload', user?: { __typename?: 'User', id: string, internalId: number, firstname?: string | null, lastname?: string | null, fullname?: string | null, image?: string | null, preferences?: any | null, hasSecondaryOrganizations?: boolean | null, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null, organization?: { __typename?: 'Organization', id: string, internalId: number, name?: string | null, active?: boolean | null, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null } | null } | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type AutocompleteSearchUserQueryVariables = Exact<{
  input: AutocompleteSearchInput;
}>;


export type AutocompleteSearchUserQuery = { __typename?: 'Queries', autocompleteSearchUser: Array<{ __typename?: 'AutocompleteSearchUserEntry', value: number, label: string, labelPlaceholder?: Array<string> | null, heading?: string | null, headingPlaceholder?: Array<string> | null, disabled?: boolean | null, icon?: string | null, user: { __typename?: 'User', vip?: boolean | null, outOfOffice?: boolean | null, active?: boolean | null, id: string, internalId: number, firstname?: string | null, lastname?: string | null, fullname?: string | null, image?: string | null, preferences?: any | null, hasSecondaryOrganizations?: boolean | null, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null, organization?: { __typename?: 'Organization', id: string, internalId: number, name?: string | null, active?: boolean | null, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null } | null } }> };

export type KnowledgeBaseAnswerSuggestionContentTransformMutationVariables = Exact<{
  translationId: Scalars['ID']['input'];
  formId: Scalars['FormId']['input'];
}>;


export type KnowledgeBaseAnswerSuggestionContentTransformMutation = { __typename?: 'Mutations', knowledgeBaseAnswerSuggestionContentTransform?: { __typename?: 'KnowledgeBaseAnswerSuggestionContentTransformPayload', body?: string | null, attachments?: Array<{ __typename?: 'StoredFile', id: string, name: string, size?: number | null, type?: string | null, preferences?: any | null }> | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type KnowledgeBaseAnswerSuggestionsQueryVariables = Exact<{
  query: Scalars['String']['input'];
}>;


export type KnowledgeBaseAnswerSuggestionsQuery = { __typename?: 'Queries', knowledgeBaseAnswerSuggestions?: Array<{ __typename?: 'KnowledgeBaseAnswerTranslation', id: string, title: string, categoryTreeTranslation: Array<{ __typename?: 'KnowledgeBaseCategoryTranslation', id: string, title: string }> }> | null };

export type MentionSuggestionsQueryVariables = Exact<{
  query: Scalars['String']['input'];
  groupId: Scalars['ID']['input'];
}>;


export type MentionSuggestionsQuery = { __typename?: 'Queries', mentionSuggestions?: Array<{ __typename?: 'User', id: string, internalId: number, fullname?: string | null, email?: string | null }> | null };

export type TextModuleSuggestionsQueryVariables = Exact<{
  query: Scalars['String']['input'];
  limit?: InputMaybe<Scalars['Int']['input']>;
  ticketId?: InputMaybe<Scalars['ID']['input']>;
  customerId?: InputMaybe<Scalars['ID']['input']>;
}>;


export type TextModuleSuggestionsQuery = { __typename?: 'Queries', textModuleSuggestions: Array<{ __typename?: 'TextModule', id: string, name: string, keywords?: string | null, renderedContent?: string | null }> };

export type AutocompleteSearchObjectAttributeExternalDataSourceQueryVariables = Exact<{
  input: AutocompleteSearchObjectAttributeExternalDataSourceInput;
}>;


export type AutocompleteSearchObjectAttributeExternalDataSourceQuery = { __typename?: 'Queries', autocompleteSearchObjectAttributeExternalDataSource: Array<{ __typename?: 'AutocompleteSearchExternalDataSourceEntry', value: any, label: string, labelPlaceholder?: Array<string> | null, heading?: string | null, headingPlaceholder?: Array<string> | null }> };

export type AutocompleteSearchOrganizationQueryVariables = Exact<{
  input: AutocompleteSearchOrganizationInput;
}>;


export type AutocompleteSearchOrganizationQuery = { __typename?: 'Queries', autocompleteSearchOrganization: Array<{ __typename?: 'AutocompleteSearchOrganizationEntry', value: number, label: string, labelPlaceholder?: Array<string> | null, heading?: string | null, headingPlaceholder?: Array<string> | null, disabled?: boolean | null, icon?: string | null, organization: { __typename?: 'Organization', id: string, internalId: number, name?: string | null, shared?: boolean | null, domain?: string | null, domainAssignment?: boolean | null, active?: boolean | null, note?: string | null, vip?: boolean | null, ticketsCount?: { __typename?: 'TicketCount', open: number, closed: number } | null, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null } }> };

export type AutocompleteSearchRecipientQueryVariables = Exact<{
  input: AutocompleteSearchRecipientInput;
}>;


export type AutocompleteSearchRecipientQuery = { __typename?: 'Queries', autocompleteSearchRecipient: Array<{ __typename?: 'AutocompleteSearchRecipientEntry', value: string, label: string, labelPlaceholder?: Array<string> | null, heading?: string | null, headingPlaceholder?: Array<string> | null, disabled?: boolean | null, icon?: string | null }> };

export type FormUpdaterQueryVariables = Exact<{
  formUpdaterId: EnumFormUpdaterId;
  meta: FormUpdaterMetaInput;
  data: Scalars['JSON']['input'];
  relationFields: Array<FormUpdaterRelationField> | FormUpdaterRelationField;
  id?: InputMaybe<Scalars['ID']['input']>;
}>;


export type FormUpdaterQuery = { __typename?: 'Queries', formUpdater: any };

export type ObjectManagerFrontendAttributesQueryVariables = Exact<{
  object: EnumObjectManagerObjects;
}>;


export type ObjectManagerFrontendAttributesQuery = { __typename?: 'Queries', objectManagerFrontendAttributes?: { __typename?: 'ObjectManagerFrontendAttributesPayload', attributes: Array<{ __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string, dataType: string, dataOption?: any | null, isInternal: boolean, screens?: any | null }>, screens: Array<{ __typename?: 'ObjectManagerScreenAttributes', name: string, attributes: Array<string> }> } | null };

export type OnlineNotificationDeleteMutationVariables = Exact<{
  onlineNotificationId: Scalars['ID']['input'];
}>;


export type OnlineNotificationDeleteMutation = { __typename?: 'Mutations', onlineNotificationDelete?: { __typename?: 'OnlineNotificationDeletePayload', success: boolean, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type OnlineNotificationMarkAllAsSeenMutationVariables = Exact<{
  onlineNotificationIds: Array<Scalars['ID']['input']> | Scalars['ID']['input'];
}>;


export type OnlineNotificationMarkAllAsSeenMutation = { __typename?: 'Mutations', onlineNotificationMarkAllAsSeen?: { __typename?: 'OnlineNotificationMarkAllAsSeenPayload', onlineNotifications?: Array<{ __typename?: 'OnlineNotification', id: string, seen: boolean }> | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type OnlineNotificationSeenMutationVariables = Exact<{
  objectId: Scalars['ID']['input'];
}>;


export type OnlineNotificationSeenMutation = { __typename?: 'Mutations', onlineNotificationSeen?: { __typename?: 'OnlineNotificationSeenPayload', success: boolean, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type OnlineNotificationsQueryVariables = Exact<{ [key: string]: never; }>;


export type OnlineNotificationsQuery = { __typename?: 'Queries', onlineNotifications: { __typename?: 'OnlineNotificationConnection', edges: Array<{ __typename?: 'OnlineNotificationEdge', cursor: string, node: { __typename?: 'OnlineNotification', id: string, seen: boolean, createdAt: string, typeName: string, objectName: string, createdBy?: { __typename?: 'User', id: string, fullname?: string | null, lastname?: string | null, firstname?: string | null, email?: string | null, vip?: boolean | null, outOfOffice?: boolean | null, active?: boolean | null, image?: string | null } | null, metaObject?: { __typename?: 'DataPrivacyTask' } | { __typename?: 'Group' } | { __typename?: 'Organization' } | { __typename?: 'Role' } | { __typename?: 'Ticket', id: string, internalId: number, title: string } | { __typename?: 'TicketArticle' } | { __typename?: 'User' } | null } }>, pageInfo: { __typename?: 'PageInfo', endCursor?: string | null, hasNextPage: boolean } } };

export type OnlineNotificationsCountSubscriptionVariables = Exact<{
  userId: Scalars['ID']['input'];
}>;


export type OnlineNotificationsCountSubscription = { __typename?: 'Subscriptions', onlineNotificationsCount: { __typename?: 'OnlineNotificationsCountPayload', unseenCount: number } };

export type PublicLinksQueryVariables = Exact<{
  screen: EnumPublicLinksScreen;
}>;


export type PublicLinksQuery = { __typename?: 'Queries', publicLinks?: Array<{ __typename?: 'PublicLink', id: string, link: string, title: string, description?: string | null, newTab: boolean }> | null };

export type PublicLinkUpdatesSubscriptionVariables = Exact<{
  screen: EnumPublicLinksScreen;
}>;


export type PublicLinkUpdatesSubscription = { __typename?: 'Subscriptions', publicLinkUpdates: { __typename?: 'PublicLinkUpdatesPayload', publicLinks?: Array<{ __typename?: 'PublicLink', id: string, link: string, title: string, description?: string | null, newTab: boolean }> | null } };

export type TagAssignmentUpdateMutationVariables = Exact<{
  objectId: Scalars['ID']['input'];
  tags: Array<Scalars['String']['input']> | Scalars['String']['input'];
}>;


export type TagAssignmentUpdateMutation = { __typename?: 'Mutations', tagAssignmentUpdate?: { __typename?: 'TagAssignmentUpdatePayload', success?: boolean | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type AutocompleteSearchTagQueryVariables = Exact<{
  input: AutocompleteSearchInput;
}>;


export type AutocompleteSearchTagQuery = { __typename?: 'Queries', autocompleteSearchTag: Array<{ __typename?: 'AutocompleteSearchEntry', value: string, label: string }> };

export type SecurityStateFragment = { __typename?: 'TicketArticleSecurityState', type?: EnumSecurityStateType | null, signingSuccess?: boolean | null, signingMessage?: string | null, encryptionSuccess?: boolean | null, encryptionMessage?: string | null };

export type TicketArticleChangeVisibilityMutationVariables = Exact<{
  articleId: Scalars['ID']['input'];
  internal: Scalars['Boolean']['input'];
}>;


export type TicketArticleChangeVisibilityMutation = { __typename?: 'Mutations', ticketArticleChangeVisibility?: { __typename?: 'TicketArticleChangeVisibilityPayload', article?: { __typename?: 'TicketArticle', id: string, internal: boolean } | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type TicketArticleDeleteMutationVariables = Exact<{
  articleId: Scalars['ID']['input'];
}>;


export type TicketArticleDeleteMutation = { __typename?: 'Mutations', ticketArticleDelete?: { __typename?: 'TicketArticleDeletePayload', success: boolean, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type TicketArticleEmailForwardReplyMutationVariables = Exact<{
  articleId: Scalars['ID']['input'];
  formId: Scalars['FormId']['input'];
}>;


export type TicketArticleEmailForwardReplyMutation = { __typename?: 'Mutations', ticketArticleEmailForwardReply?: { __typename?: 'TicketArticleEmailForwardReplyPayload', quotableFrom?: string | null, quotableTo?: string | null, quotableCc?: string | null, attachments: Array<{ __typename?: 'StoredFile', internalId: number, name: string, size?: number | null, type?: string | null }>, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type TicketArticleRetryMediaDownloadMutationVariables = Exact<{
  articleId: Scalars['ID']['input'];
}>;


export type TicketArticleRetryMediaDownloadMutation = { __typename?: 'Mutations', ticketArticleRetryMediaDownload?: { __typename?: 'TicketArticleRetryMediaDownloadPayload', success?: boolean | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type TicketArticleRetrySecurityProcessMutationVariables = Exact<{
  articleId: Scalars['ID']['input'];
}>;


export type TicketArticleRetrySecurityProcessMutation = { __typename?: 'Mutations', ticketArticleRetrySecurityProcess?: { __typename?: 'TicketArticleRetrySecurityProcessPayload', retryResult?: { __typename?: 'TicketArticleSecurityState', type?: EnumSecurityStateType | null, signingSuccess?: boolean | null, signingMessage?: string | null, encryptionSuccess?: boolean | null, encryptionMessage?: string | null } | null, article?: { __typename?: 'TicketArticle', id: string, securityState?: { __typename?: 'TicketArticleSecurityState', type?: EnumSecurityStateType | null, signingSuccess?: boolean | null, signingMessage?: string | null, encryptionSuccess?: boolean | null, encryptionMessage?: string | null } | null } | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type OverviewAttributesFragment = { __typename?: 'Overview', id: string, name: string, link: string, prio: number, orderBy: string, orderDirection: EnumOrderDirection, active: boolean, ticketCount?: number, viewColumns: Array<{ __typename?: 'KeyValue', key: string, value?: string | null }>, orderColumns: Array<{ __typename?: 'KeyValue', key: string, value?: string | null }> };

export type TicketCustomerUpdateMutationVariables = Exact<{
  ticketId: Scalars['ID']['input'];
  input: TicketCustomerUpdateInput;
}>;


export type TicketCustomerUpdateMutation = { __typename?: 'Mutations', ticketCustomerUpdate?: { __typename?: 'TicketCustomerUpdatePayload', ticket?: { __typename?: 'Ticket', id: string, internalId: number, number: string, title: string, createdAt: string, escalationAt?: string | null, updatedAt: string, pendingTime?: string | null, tags?: Array<string> | null, timeUnit?: number | null, subscribed?: boolean | null, preferences?: any | null, stateColorCode: EnumTicketStateColorCode, firstResponseEscalationAt?: string | null, closeEscalationAt?: string | null, updateEscalationAt?: string | null, initialChannel?: EnumChannelArea | null, owner: { __typename?: 'User', id: string, internalId: number, firstname?: string | null, lastname?: string | null }, customer: { __typename?: 'User', id: string, internalId: number, firstname?: string | null, lastname?: string | null, fullname?: string | null, phone?: string | null, image?: string | null, vip?: boolean | null, active?: boolean | null, outOfOffice?: boolean | null, email?: string | null, hasSecondaryOrganizations?: boolean | null, organization?: { __typename?: 'Organization', id: string, internalId: number, name?: string | null, active?: boolean | null, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null } | null, policy: { __typename?: 'PolicyDefault', update: boolean } }, organization?: { __typename?: 'Organization', id: string, internalId: number, name?: string | null, vip?: boolean | null, active?: boolean | null } | null, state: { __typename?: 'TicketState', id: string, name: string, stateType: { __typename?: 'TicketStateType', name: string } }, group: { __typename?: 'Group', id: string, name?: string | null, emailAddress?: { __typename?: 'EmailAddressParsed', name?: string | null, emailAddress?: string | null } | null }, priority: { __typename?: 'TicketPriority', id: string, name: string, defaultCreate: boolean, uiColor?: string | null }, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null, policy: { __typename?: 'PolicyTicket', update: boolean, agentReadAccess: boolean }, timeUnitsPerType?: Array<{ __typename?: 'TicketTimeAccountingTypeSum', name: string, timeUnit: number }> | null } | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type TicketMergeMutationVariables = Exact<{
  sourceTicketId: Scalars['ID']['input'];
  targetTicketId: Scalars['ID']['input'];
}>;


export type TicketMergeMutation = { __typename?: 'Mutations', ticketMerge?: { __typename?: 'TicketMergePayload', errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type MentionSubscribeMutationVariables = Exact<{
  ticketId: Scalars['ID']['input'];
}>;


export type MentionSubscribeMutation = { __typename?: 'Mutations', mentionSubscribe?: { __typename?: 'MentionSubscribePayload', success?: boolean | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type MentionUnsubscribeMutationVariables = Exact<{
  ticketId: Scalars['ID']['input'];
}>;


export type MentionUnsubscribeMutation = { __typename?: 'Mutations', mentionUnsubscribe?: { __typename?: 'MentionUnsubscribePayload', success?: boolean | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type TicketOverviewsQueryVariables = Exact<{
  withTicketCount: Scalars['Boolean']['input'];
}>;


export type TicketOverviewsQuery = { __typename?: 'Queries', ticketOverviews: { __typename?: 'OverviewConnection', edges: Array<{ __typename?: 'OverviewEdge', cursor: string, node: { __typename?: 'Overview', id: string, name: string, link: string, prio: number, orderBy: string, orderDirection: EnumOrderDirection, active: boolean, ticketCount?: number, viewColumns: Array<{ __typename?: 'KeyValue', key: string, value?: string | null }>, orderColumns: Array<{ __typename?: 'KeyValue', key: string, value?: string | null }> } }>, pageInfo: { __typename?: 'PageInfo', endCursor?: string | null, hasNextPage: boolean } } };

export type UserAddMutationVariables = Exact<{
  input: UserInput;
  sendInvite?: InputMaybe<Scalars['Boolean']['input']>;
}>;


export type UserAddMutation = { __typename?: 'Mutations', userAdd?: { __typename?: 'UserAddPayload', user?: { __typename?: 'User', id: string, internalId: number, firstname?: string | null, lastname?: string | null, fullname?: string | null, image?: string | null, preferences?: any | null, hasSecondaryOrganizations?: boolean | null, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null, organization?: { __typename?: 'Organization', id: string, internalId: number, name?: string | null, active?: boolean | null, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null } | null } | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type CurrentUserAttributesFragment = { __typename?: 'User', email?: string | null, id: string, internalId: number, firstname?: string | null, lastname?: string | null, fullname?: string | null, image?: string | null, preferences?: any | null, hasSecondaryOrganizations?: boolean | null, permissions?: { __typename?: 'UserPermission', names: Array<string> } | null, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null, organization?: { __typename?: 'Organization', id: string, internalId: number, name?: string | null, active?: boolean | null, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null } | null };

export type ErrorsFragment = { __typename?: 'UserError', message: string, field?: string | null };

export type ObjectAttributeValuesFragment = { __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } };

export type PublicLinkAttributesFragment = { __typename?: 'PublicLink', id: string, link: string, title: string, description?: string | null, newTab: boolean };

export type SessionFragment = { __typename?: 'Session', id: string, afterAuth?: { __typename?: 'SessionAfterAuth', type: EnumAfterAuthType, data?: any | null } | null };

export type UserAttributesFragment = { __typename?: 'User', id: string, internalId: number, firstname?: string | null, lastname?: string | null, fullname?: string | null, image?: string | null, preferences?: any | null, hasSecondaryOrganizations?: boolean | null, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null, organization?: { __typename?: 'Organization', id: string, internalId: number, name?: string | null, active?: boolean | null, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null } | null };

export type UserDetailAttributesFragment = { __typename?: 'User', id: string, internalId: number, firstname?: string | null, lastname?: string | null, fullname?: string | null, image?: string | null, email?: string | null, web?: string | null, vip?: boolean | null, phone?: string | null, outOfOffice?: boolean | null, mobile?: string | null, fax?: string | null, note?: string | null, active?: boolean | null, hasSecondaryOrganizations?: boolean | null, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null, organization?: { __typename?: 'Organization', id: string, internalId: number, name?: string | null, active?: boolean | null, vip?: boolean | null, ticketsCount?: { __typename?: 'TicketCount', open: number, closed: number } | null } | null, secondaryOrganizations?: { __typename?: 'OrganizationConnection', totalCount: number, edges: Array<{ __typename?: 'OrganizationEdge', node: { __typename?: 'Organization', id: string, internalId: number, active?: boolean | null, name?: string | null } }> } | null, ticketsCount?: { __typename?: 'TicketCount', open: number, closed: number } | null };

export type LoginMutationVariables = Exact<{
  input: LoginInput;
}>;


export type LoginMutation = { __typename?: 'Mutations', login?: { __typename?: 'LoginPayload', session?: { __typename?: 'Session', id: string, afterAuth?: { __typename?: 'SessionAfterAuth', type: EnumAfterAuthType, data?: any | null } | null } | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null, twoFactorRequired?: { __typename?: 'UserTwoFactorMethods', availableTwoFactorAuthenticationMethods: Array<EnumTwoFactorAuthenticationMethod>, defaultTwoFactorAuthenticationMethod?: EnumTwoFactorAuthenticationMethod | null, recoveryCodesAvailable: boolean } | null } | null };

export type LogoutMutationVariables = Exact<{ [key: string]: never; }>;


export type LogoutMutation = { __typename?: 'Mutations', logout?: { __typename?: 'LogoutPayload', success: boolean, externalLogoutUrl?: string | null } | null };

export type TwoFactorMethodInitiateAuthenticationMutationVariables = Exact<{
  login: Scalars['String']['input'];
  password: Scalars['String']['input'];
  twoFactorMethod: EnumTwoFactorAuthenticationMethod;
}>;


export type TwoFactorMethodInitiateAuthenticationMutation = { __typename?: 'Mutations', twoFactorMethodInitiateAuthentication?: { __typename?: 'TwoFactorMethodInitiateAuthenticationPayload', initiationData?: any | null, errors?: Array<{ __typename?: 'UserError', message: string, field?: string | null }> | null } | null };

export type ProductAboutQueryVariables = Exact<{ [key: string]: never; }>;


export type ProductAboutQuery = { __typename?: 'Queries', productAbout: string };

export type ApplicationBuildChecksumQueryVariables = Exact<{ [key: string]: never; }>;


export type ApplicationBuildChecksumQuery = { __typename?: 'Queries', applicationBuildChecksum: string };

export type ApplicationConfigQueryVariables = Exact<{ [key: string]: never; }>;


export type ApplicationConfigQuery = { __typename?: 'Queries', applicationConfig: Array<{ __typename?: 'KeyComplexValue', key: string, value?: any | null }> };

export type CurrentUserQueryVariables = Exact<{ [key: string]: never; }>;


export type CurrentUserQuery = { __typename?: 'Queries', currentUser: { __typename?: 'User', email?: string | null, id: string, internalId: number, firstname?: string | null, lastname?: string | null, fullname?: string | null, image?: string | null, preferences?: any | null, hasSecondaryOrganizations?: boolean | null, permissions?: { __typename?: 'UserPermission', names: Array<string> } | null, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null, organization?: { __typename?: 'Organization', id: string, internalId: number, name?: string | null, active?: boolean | null, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null } | null } };

export type LocalesQueryVariables = Exact<{
  onlyActive?: InputMaybe<Scalars['Boolean']['input']>;
}>;


export type LocalesQuery = { __typename?: 'Queries', locales: Array<{ __typename?: 'Locale', locale: string, alias?: string | null, name: string, dir: EnumTextDirection, active: boolean }> };

export type SessionQueryVariables = Exact<{ [key: string]: never; }>;


export type SessionQuery = { __typename?: 'Queries', session: { __typename?: 'Session', id: string, afterAuth?: { __typename?: 'SessionAfterAuth', type: EnumAfterAuthType, data?: any | null } | null } };

export type TicketSignatureQueryVariables = Exact<{
  groupId: Scalars['ID']['input'];
  ticketId?: InputMaybe<Scalars['ID']['input']>;
}>;


export type TicketSignatureQuery = { __typename?: 'Queries', ticketSignature?: { __typename?: 'Signature', id: string, renderedBody?: string | null } | null };

export type TranslationsQueryVariables = Exact<{
  locale: Scalars['String']['input'];
  cacheKey?: InputMaybe<Scalars['String']['input']>;
}>;


export type TranslationsQuery = { __typename?: 'Queries', translations?: { __typename?: 'TranslationsPayload', isCacheStillValid: boolean, cacheKey?: string | null, translations?: any | null } | null };

export type AppMaintenanceSubscriptionVariables = Exact<{ [key: string]: never; }>;


export type AppMaintenanceSubscription = { __typename?: 'Subscriptions', appMaintenance: { __typename?: 'AppMaintenancePayload', type?: EnumAppMaintenanceType | null } };

export type ConfigUpdatesSubscriptionVariables = Exact<{ [key: string]: never; }>;


export type ConfigUpdatesSubscription = { __typename?: 'Subscriptions', configUpdates: { __typename?: 'ConfigUpdatesPayload', setting?: { __typename?: 'KeyComplexValue', key: string, value?: any | null } | null } };

export type CurrentUserUpdatesSubscriptionVariables = Exact<{
  userId: Scalars['ID']['input'];
}>;


export type CurrentUserUpdatesSubscription = { __typename?: 'Subscriptions', userUpdates: { __typename?: 'UserUpdatesPayload', user?: { __typename?: 'User', email?: string | null, id: string, internalId: number, firstname?: string | null, lastname?: string | null, fullname?: string | null, image?: string | null, preferences?: any | null, hasSecondaryOrganizations?: boolean | null, permissions?: { __typename?: 'UserPermission', names: Array<string> } | null, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null, organization?: { __typename?: 'Organization', id: string, internalId: number, name?: string | null, active?: boolean | null, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null } | null } | null } };

export type PushMessagesSubscriptionVariables = Exact<{ [key: string]: never; }>;


export type PushMessagesSubscription = { __typename?: 'Subscriptions', pushMessages: { __typename?: 'PushMessagesPayload', title?: string | null, text?: string | null } };

export type UserUpdatesSubscriptionVariables = Exact<{
  userId: Scalars['ID']['input'];
  secondaryOrganizationsCount?: InputMaybe<Scalars['Int']['input']>;
}>;


export type UserUpdatesSubscription = { __typename?: 'Subscriptions', userUpdates: { __typename?: 'UserUpdatesPayload', user?: { __typename?: 'User', id: string, internalId: number, firstname?: string | null, lastname?: string | null, fullname?: string | null, image?: string | null, email?: string | null, web?: string | null, vip?: boolean | null, phone?: string | null, outOfOffice?: boolean | null, mobile?: string | null, fax?: string | null, note?: string | null, active?: boolean | null, hasSecondaryOrganizations?: boolean | null, objectAttributeValues?: Array<{ __typename?: 'ObjectAttributeValue', value?: any | null, renderedLink?: string | null, attribute: { __typename?: 'ObjectManagerFrontendAttribute', name: string, display: string } }> | null, organization?: { __typename?: 'Organization', id: string, internalId: number, name?: string | null, active?: boolean | null, vip?: boolean | null, ticketsCount?: { __typename?: 'TicketCount', open: number, closed: number } | null } | null, secondaryOrganizations?: { __typename?: 'OrganizationConnection', totalCount: number, edges: Array<{ __typename?: 'OrganizationEdge', node: { __typename?: 'Organization', id: string, internalId: number, active?: boolean | null, name?: string | null } }> } | null, ticketsCount?: { __typename?: 'TicketCount', open: number, closed: number } | null } | null } };