export declare type Maybe = T | null; export declare type InputMaybe = T | null | undefined; export declare type Exact = { [K in keyof T]: T[K]; }; export declare type MakeOptional = Omit & { [SubKey in K]?: Maybe; }; export declare type MakeMaybe = Omit & { [SubKey in K]: Maybe; }; /** All built-in and custom scalars, mapped to their actual values */ export declare type Scalars = { ID: string; String: string; Boolean: boolean; Int: number; Float: number; /** A date string, such as 2007-12-03, compliant with the `full-date` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar. */ Date: string; /** A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the `date-time` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar. */ DateTime: string; /** The `JSONObject` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */ JSONObject: unknown; /** The `Upload` scalar type represents a file upload. */ Upload: globalThis.File; }; export declare const AccessLevel: { readonly Full: "FULL"; readonly Limited: "LIMITED"; }; export declare type AccessLevel = typeof AccessLevel[keyof typeof AccessLevel]; export declare type Address = { readonly __typename: 'Address'; /** The city. */ readonly city: Maybe; /** The country, as a two-letter ISO 3166-1 code. US is the only supported country at this time. */ readonly country: Country; /** The postal code (i.e. zip code). */ readonly postalCode: Maybe; /** The region - in the US this should be the two-letter state code. */ readonly region: Region; /** The first line of the street address. */ readonly streetLine1: Maybe; /** The second line of the street address. */ readonly streetLine2: Maybe; }; export declare type AddressInput = { /** The city. */ readonly city?: InputMaybe; /** The country, as a two-letter ISO 3166-1 code. US is the only supported country at this time. */ readonly country: Country; /** The postal code (i.e. zip code). */ readonly postalCode?: InputMaybe; /** The region - in the US this should be the two-letter state code. */ readonly region: Region; /** The first line of the street address. */ readonly streetLine1?: InputMaybe; /** The second line of the street address. */ readonly streetLine2?: InputMaybe; }; /** A question for recording an address. Source uses multiple fields for addresses: `region` (corresponding to US state) is required, and the others can be configured as optional, required, or not shown at all. */ export declare type AddressQuestion = Question & { readonly __typename: 'AddressQuestion'; /** A conditional statement - if it evaluates to true, this question will be displayed, if false the question will not be displayed and no response will be recorded for it. */ readonly conditional: Maybe; /** An optional secondary text for this question, which will be displayed under the title and can contain, for example, instructions on how to answer the question. */ readonly description: Maybe; /** Indicates which fields are optional, required, or should not be shown at all. */ readonly fields: AddressQuestionFieldConfig; /** Unique key of this question within the form. Used in responses and conditional logic. */ readonly key: Scalars['String']; /** Type of the question. */ readonly questionType: QuestionType; /** Whether a response to this question is required or optional. Questions that are hidden by conditional rules are never required to have a response. */ readonly required: Scalars['Boolean']; /** Display title of this question in the form, i.e. the question text itself. */ readonly title: Scalars['String']; }; export declare type AddressQuestionFieldConfig = { readonly __typename: 'AddressQuestionFieldConfig'; readonly city: FieldPresence; readonly postalCode: FieldPresence; readonly streetLine1: FieldPresence; readonly streetLine2: FieldPresence; }; export declare const AdministrativeGender: { readonly Female: "FEMALE"; readonly Male: "MALE"; readonly Other: "OTHER"; }; export declare type AdministrativeGender = typeof AdministrativeGender[keyof typeof AdministrativeGender]; export declare type Appointment = Node & { readonly __typename: 'Appointment'; /** Reference to the type of appointment that was booked. */ readonly appointmentType: AppointmentType; /** Timestamp of when this resource was created. */ readonly createdAt: Scalars['DateTime']; /** The computed duration of the appointment, measured as the number of minutes between `start_at` and `end_at`. This is calculated automatically in the API and returned back to you. */ readonly duration: Scalars['Int']; /** Timestamp when the appointment ends, always reported in UTC. */ readonly endAt: Scalars['DateTime']; /** Unique ID of this resource */ readonly id: Scalars['ID']; /** Instructions to the member describing how to prepare for this appointment. Members cannot set or update instructions through the API, but they are able to access them. */ readonly instructions: Maybe; /** The member to which this appointment belongs. Setting a member on this property will allow the member to access this appointment via the API. Members can only view appointments which are directly associated with them. You do not need to associate an appointment with a member. This can be useful to represent, for example, blocked time during which a user is not available. */ readonly member: Maybe; /** The participants in the appointment. At this time, only users may be participants in an appointment. However, we are evaluating future expansions to the API to allow other types of bookable resources. */ readonly participants: ReadonlyArray; /** Timestamp when the appointment starts, always reported in UTC. */ readonly startAt: Scalars['DateTime']; /** Current status of this appointment. By default, newly created appointments will be in the booked status. When an appointment is in a terminal status, such as `canceled`, it can no longer be modified. */ readonly status: AppointmentStatus; /** Subject for this appointment. These will be shared with all participants in advance. The subject should generally describe the reason for the visit. Member tokens are allowed to set subjects on appointments to support a self booking flow. */ readonly subject: Maybe; /** The IANA time zone for the appointment booking. Appointments are represented in UTC time, however the zone will be stored and can be used when presenting the appointemnt in the future. */ readonly timeZone: Scalars['String']; /** Timestamp of when this resource was last updated. */ readonly updatedAt: Scalars['DateTime']; /** Information about the video call generated or provided for this appointment. By default, Source will generate a visit URL for all created appointments when the appointment type has `video_enabled = true`. */ readonly videoCall: Maybe; }; export declare type AppointmentBookInput = { /** Unique ID or key of the appointment type for this appointment. */ readonly appointmentType: Scalars['ID']; /** The participants that should be included on this appointment. At least one participant is required. */ readonly participants: ReadonlyArray; /** Start time for this appointment. Appointments can be created which start in the past, if you want to record an appointment that has already occured. Appointment times must always be provided in UTC, regardless of the value of the time_zone property. */ readonly startAt: Scalars['DateTime']; /** Subject of this appointment. This will be shown to all participants. It may also be transmitted via email or SMS, so it should not include PHI. */ readonly subject?: InputMaybe; /** Time zone in which the appointment should be scheduled. Changing this value has no impact on the actual time of the appointment, which is always provided in UTC. However, this value may be used when formatting the appointment time for representation, and recalculating the UTC time in the event of a time zone rule change. */ readonly timeZone: Scalars['String']; }; export declare type AppointmentConnection = { readonly __typename: 'AppointmentConnection'; /** https://facebook.github.io/relay/graphql/connections.htm#sec-Edge-Types */ readonly edges: ReadonlyArray; /** Flattened list of Appointment type */ readonly nodes: ReadonlyArray; /** https://facebook.github.io/relay/graphql/connections.htm#sec-undefined.PageInfo */ readonly pageInfo: PageInfo; }; export declare type AppointmentEdge = { readonly __typename: 'AppointmentEdge'; /** https://facebook.github.io/relay/graphql/connections.htm#sec-Cursor */ readonly cursor: Scalars['String']; /** https://facebook.github.io/relay/graphql/connections.htm#sec-Node */ readonly node: Appointment; }; /** A time based range filter on the list based on the object endAt field. */ export declare type AppointmentEndAtArgInput = { /** Return results where the endAt field is greater than this value. */ readonly gt?: InputMaybe; /** Return results where the endAt field is greater than or equal to this value. */ readonly gte?: InputMaybe; /** Return results where the endAt field is less than this value. */ readonly lt?: InputMaybe; /** Return results where the endAt field is less than or equal to this value. */ readonly lte?: InputMaybe; }; export declare type AppointmentParticipant = { readonly __typename: 'AppointmentParticipant'; /** Expandable reference to the participant resource. Currently, only users can be added as participants. */ readonly participant: User; /** Status of the participant. Currently, all participants are assumed to have accepted the appointment once booked. */ readonly status: AppointmentParticipationStatus; /** The type of participants. Participants in an appointment can be either members or users. */ readonly type: Scalars['String']; }; export declare type AppointmentParticipantInput = { /** The participant to include on this appointment. Must be a valid user identifier. */ readonly participant: Scalars['ID']; }; export declare const AppointmentParticipationStatus: { readonly Accepted: "ACCEPTED"; readonly Declined: "DECLINED"; readonly Tentative: "TENTATIVE"; }; export declare type AppointmentParticipationStatus = typeof AppointmentParticipationStatus[keyof typeof AppointmentParticipationStatus]; export declare type AppointmentRescheduleInput = { /** The participants that should be included on this appointment. At least one participant is required. */ readonly participants?: InputMaybe>; /** Start time for this appointment. Appointments can be created which start in the past, if you want to record an appointment that has already occured. Appointment times must always be provided in UTC, regardless of the value of the time_zone property. */ readonly startAt?: InputMaybe; /** Subject of this appointment. This will be shown to all participants. It may also be transmitted via email or SMS, so it should not include PHI. */ readonly subject?: InputMaybe; /** Time zone in which the appointment should be scheduled. Changing this value has no impact on the actual time of the appointment, which is always provided in UTC. However, this value may be used when formatting the appointment time for representation, and recalculating the UTC time in the event of a time zone rule change. */ readonly timeZone?: InputMaybe; }; /** A time based range filter on the list based on the object startAt field. */ export declare type AppointmentStartAtArgInput = { /** Return results where the startAt field is greater than this value. */ readonly gt?: InputMaybe; /** Return results where the startAt field is greater than or equal to this value. */ readonly gte?: InputMaybe; /** Return results where the startAt field is less than this value. */ readonly lt?: InputMaybe; /** Return results where the startAt field is less than or equal to this value. */ readonly lte?: InputMaybe; }; export declare const AppointmentStatus: { readonly Booked: "BOOKED"; readonly Canceled: "CANCELED"; }; export declare type AppointmentStatus = typeof AppointmentStatus[keyof typeof AppointmentStatus]; export declare type AppointmentType = Node & { readonly __typename: 'AppointmentType'; /** Whether or not this appointment can be booked directly by a member. If set to false, this appointment can only be scheduled by a user. Note that appointment types with bookable set to false are still visible to members, as they may still have an appointment of that type scheduled. As a result, this does not function as a security or privacy control. */ readonly bookable: Scalars['Boolean']; /** Timestamp of when this resource was created. */ readonly createdAt: Scalars['DateTime']; /** A few sentence description of this appointment type. This description will be shown to members when attempting to book an appointment of this type. While not required, it can be helpful to share what the member might expect to happen during this appointment or any resources thay should bring. */ readonly description: Maybe; /** The default duration to apply to appointments of this type. Measured in minutes. */ readonly duration: Scalars['Int']; /** Unique ID of this resource */ readonly id: Scalars['ID']; /** Unique key for this appointment type. You can use this when creating appointments via the API. In order to avoid potential confusion when distinguishing between appointment type IDs and appointment type keys, keys must not start with `aptp_`. */ readonly key: Scalars['String']; /** Name of this appointment type. This will be visible to members when booking appointments, and to users when using the Source UI. */ readonly name: Scalars['String']; /** The interval between two bookable slots for appointments of this type. Measured in minutes. */ readonly slotInterval: Scalars['Int']; /** Timestamp of when this resource was last updated. */ readonly updatedAt: Scalars['DateTime']; /** Whether or not to create a video call for appointments of this type. Defaults to false. */ readonly videoEnabled: Scalars['Boolean']; }; export declare type AppointmentTypeConnection = { readonly __typename: 'AppointmentTypeConnection'; /** https://facebook.github.io/relay/graphql/connections.htm#sec-Edge-Types */ readonly edges: ReadonlyArray; /** Flattened list of AppointmentType type */ readonly nodes: ReadonlyArray; /** https://facebook.github.io/relay/graphql/connections.htm#sec-undefined.PageInfo */ readonly pageInfo: PageInfo; }; export declare type AppointmentTypeEdge = { readonly __typename: 'AppointmentTypeEdge'; /** https://facebook.github.io/relay/graphql/connections.htm#sec-Cursor */ readonly cursor: Scalars['String']; /** https://facebook.github.io/relay/graphql/connections.htm#sec-Node */ readonly node: AppointmentType; }; export declare const AppointmentTypesSortArg: { readonly CreatedAt: "CREATED_AT"; readonly CreatedAtDesc: "CREATED_AT_DESC"; readonly Name: "NAME"; readonly NameDesc: "NAME_DESC"; }; export declare type AppointmentTypesSortArg = typeof AppointmentTypesSortArg[keyof typeof AppointmentTypesSortArg]; export declare const AppointmentsSortArg: { readonly CreatedAt: "CREATED_AT"; readonly CreatedAtDesc: "CREATED_AT_DESC"; readonly EndAt: "END_AT"; readonly EndAtDesc: "END_AT_DESC"; readonly StartAt: "START_AT"; readonly StartAtDesc: "START_AT_DESC"; }; export declare type AppointmentsSortArg = typeof AppointmentsSortArg[keyof typeof AppointmentsSortArg]; export declare type AvailableSlots = { readonly __typename: 'AvailableSlots'; /** * The list of all possible users who were considered during the availability query. When using groups in participant inclusion and exclusion criteria, it is often useful to know the list of possible users who were searched for availability. You can use this to create a booking interface that shows your team's photos or includes more information about each of them. * * Source guarantees that availability slots will not be returned for users who are not present in this list, and that the list shown here is reflective of the order that each user was considered when selecting a preferred user for each time slot. */ readonly participants: ReadonlyArray; /** The list of all slots that were returned for your availability query. Slots will only be returned if at least one participant is available. */ readonly slots: ReadonlyArray; }; export declare type CareTeam = Node & { readonly __typename: 'CareTeam'; /** Timestamp of when this resource was created. */ readonly createdAt: Scalars['DateTime']; /** Unique ID of this resource */ readonly id: Scalars['ID']; /** Member to which this care team is assigned. */ readonly member: Maybe; /** The ordered list of users on the care team. The user's care team role defines their role across all teams they are on. */ readonly participants: ReadonlyArray; /** Timestamp of when this resource was last updated. */ readonly updatedAt: Scalars['DateTime']; }; export declare type CareTeamParticipant = { readonly __typename: 'CareTeamParticipant'; readonly user: User; }; export declare const Country: { readonly Us: "US"; }; export declare type Country = typeof Country[keyof typeof Country]; export declare const DateInputType: { readonly DateEntry: "date_entry"; readonly DatePicker: "date_picker"; }; export declare type DateInputType = typeof DateInputType[keyof typeof DateInputType]; /** A question for recording a date. You can choose from two types of date input: one with a calendar-style date picker, intended for dates around the current date; and another designed for keyboard input, such as for historical dates like dates of birth. */ export declare type DateQuestion = Question & { readonly __typename: 'DateQuestion'; /** A conditional statement - if it evaluates to true, this question will be displayed, if false the question will not be displayed and no response will be recorded for it. */ readonly conditional: Maybe; /** An optional secondary text for this question, which will be displayed under the title and can contain, for example, instructions on how to answer the question. */ readonly description: Maybe; /** Which type of UI element to use - a calendar-style date picker or direct keyboard entry input box. */ readonly inputType: DateInputType; /** Unique key of this question within the form. Used in responses and conditional logic. */ readonly key: Scalars['String']; /** Type of the question. */ readonly questionType: QuestionType; /** Whether a response to this question is required or optional. Questions that are hidden by conditional rules are never required to have a response. */ readonly required: Scalars['Boolean']; /** Display title of this question in the form, i.e. the question text itself. */ readonly title: Scalars['String']; }; export declare type DisplayElement = { /** A conditional statement - if it evaluates to true, this element will be displayed, if false the element will not be displayed. */ readonly conditional: Maybe; /** Type of the display element */ readonly displayType: DisplayElementType; }; export declare const DisplayElementType: { readonly RichText: "RICH_TEXT"; }; export declare type DisplayElementType = typeof DisplayElementType[keyof typeof DisplayElementType]; export declare type Document = Node & { readonly __typename: 'Document'; /** Timestamp of when this resource was created. */ readonly createdAt: Scalars['DateTime']; /** When the document was originally created or authored. When creating a document, if no date is provided, the date the document is created is used. */ readonly date: Scalars['DateTime']; /** A long-form text description of the document. */ readonly description: Maybe; /** The file that represents the document. */ readonly file: File; /** Unique ID of this resource */ readonly id: Scalars['ID']; /** The member associated with the document. */ readonly member: Member; /** A short form name of the document. */ readonly name: Scalars['String']; /** Timestamp of when this resource was last updated. */ readonly updatedAt: Scalars['DateTime']; }; export declare type DocumentConnection = { readonly __typename: 'DocumentConnection'; /** https://facebook.github.io/relay/graphql/connections.htm#sec-Edge-Types */ readonly edges: ReadonlyArray; /** Flattened list of Document type */ readonly nodes: ReadonlyArray; /** https://facebook.github.io/relay/graphql/connections.htm#sec-undefined.PageInfo */ readonly pageInfo: PageInfo; }; export declare type DocumentEdge = { readonly __typename: 'DocumentEdge'; /** https://facebook.github.io/relay/graphql/connections.htm#sec-Cursor */ readonly cursor: Scalars['String']; /** https://facebook.github.io/relay/graphql/connections.htm#sec-Node */ readonly node: Document; }; /** A time based range filter on the list based on the object createdAt field. */ export declare type DocumentsCreatedAtArgInput = { /** Return results where the createdAt field is greater than this value. */ readonly gt?: InputMaybe; /** Return results where the createdAt field is greater than or equal to this value. */ readonly gte?: InputMaybe; /** Return results where the createdAt field is less than this value. */ readonly lt?: InputMaybe; /** Return results where the createdAt field is less than or equal to this value. */ readonly lte?: InputMaybe; }; /** A time based range filter on the list based on the object date field. */ export declare type DocumentsDateArgInput = { /** Return results where the date field is greater than this value. */ readonly gt?: InputMaybe; /** Return results where the date field is greater than or equal to this value. */ readonly gte?: InputMaybe; /** Return results where the date field is less than this value. */ readonly lt?: InputMaybe; /** Return results where the date field is less than or equal to this value. */ readonly lte?: InputMaybe; }; export declare const DocumentsSortArg: { readonly CreatedAt: "CREATED_AT"; readonly CreatedAtDesc: "CREATED_AT_DESC"; readonly Date: "DATE"; readonly DateDesc: "DATE_DESC"; readonly Name: "NAME"; readonly NameDesc: "NAME_DESC"; }; export declare type DocumentsSortArg = typeof DocumentsSortArg[keyof typeof DocumentsSortArg]; /** An early exit point is a point in a form at which a responder may be directed to a specific exit screen, identified by the `exit_screen_key`, based on answers to previous questions referenced in the `conditional`. */ export declare type EarlyExitPoint = { readonly __typename: 'EarlyExitPoint'; /** A conditional statement - if it evaluates to true, then the responder will be directed to the given exit screen at this point in the form. If false, the responder will continue to the next question. */ readonly conditional: Scalars['JSONObject']; /** Indicates which exit screen to display if the conditions are met. */ readonly exitScreenKey: Scalars['String']; }; export declare const EnrollmentStatus: { readonly Enrolled: "ENROLLED"; readonly NotEnrolled: "NOT_ENROLLED"; }; export declare type EnrollmentStatus = typeof EnrollmentStatus[keyof typeof EnrollmentStatus]; /** * Each form has a default exit screen that is shown when the responder completes the form. You can optionally intercept the form completion flow via the Source SDK. * * You can also configure early exits within a form by adding an early exit point within your form that references an exit screen key. You can create as many exit screens and early exit points as you need. A common example is when a responder answers questions as part of an intake form that indicate they are not eligible for services. In that case, you can create an exit screen and early exit point that indicate to the responder they are ineligible and end their form response early. */ export declare type ExitScreen = { readonly __typename: 'ExitScreen'; /** The rich text content, represented as Markdown text. */ readonly content: Scalars['String']; /** Type of the rich text content. Currently only `md` (i.e. Markdown) is supported. */ readonly contentType: FormContentType; /** A description of this exit screen. If the responder reaches this exit screen, the screen's description is displayed within the completed form response. */ readonly description: Scalars['String']; /** A unique key for this exit screen within the form. The keys are used in early exit points to indicate which screen is used for the early exit. An exit screen with key 'default' must exist in every form. */ readonly key: Scalars['String']; }; /** Indicates whether the given sub-field should be displayed or not, and if so, whether a response is optional or required. */ export declare const FieldPresence: { readonly None: "NONE"; readonly Optional: "OPTIONAL"; readonly Required: "REQUIRED"; }; export declare type FieldPresence = typeof FieldPresence[keyof typeof FieldPresence]; export declare type File = { readonly __typename: 'File'; /** Timestamp of when this resource was created. */ readonly createdAt: Scalars['DateTime']; /** Unique ID of this resource */ readonly id: Scalars['ID']; /** The MIME type of the file that was uploaded. */ readonly mimeType: Scalars['String']; /** The filename of the file that was uploaded. */ readonly name: Scalars['String']; /** The purpose of this uploaded file. Each file is required to have a clearly defined purpose, which controls what types of uploads are allowed and where the file may be referenced. */ readonly purpose: FilePurpose; /** The size of the uploaded file in bytes. */ readonly size: Scalars['Int']; /** Temporary URL that can be used to access the file. The URL contained in this field will be valid for 7 days. Once it has expired, you can re-request this resource to get a fresh URL. */ readonly url: Scalars['String']; /** Timestamp of when the url to access the file expires */ readonly urlExpiresAt: Scalars['DateTime']; /** Variants represent different versions of a file (such as thumbnails). The variants available depend on the file's purpose. Files with the `photo` purpose will have variants. */ readonly variants: Scalars['JSONObject']; }; export declare const FilePurpose: { readonly Document: "DOCUMENT"; readonly MessageAttachment: "MESSAGE_ATTACHMENT"; readonly Photo: "PHOTO"; readonly UserProfilePhoto: "USER_PROFILE_PHOTO"; }; export declare type FilePurpose = typeof FilePurpose[keyof typeof FilePurpose]; export declare type Form = Node & { readonly __typename: 'Form'; /** Timestamp when the form was created. */ readonly createdAt: Scalars['DateTime']; /** Description of this form */ readonly description: Maybe; /** Unique ID of this resource */ readonly id: Scalars['ID']; /** Unique key for this form. You can use this when creating form responses via the API. In order to avoid potential confusion when distinguishing between form IDs and form keys, keys must not start with `form_`. */ readonly key: Scalars['String']; /** Description of this form. This description will be shown to responders when attempting to respond to this form. While not required, it can be helpful to share details about the form's purpose. */ readonly name: Scalars['String']; /** Whether or not this form can be directly accessed by a public responder. For example, set public to true for a public-facing intake form that should be accessible to anyone. */ readonly public: Scalars['Boolean']; /** Most recently published version of the form. */ readonly publishedVersion: Maybe; /** Timestamp when the form was last updated. */ readonly updatedAt: Scalars['DateTime']; }; export declare const FormContentType: { readonly Md: "MD"; }; export declare type FormContentType = typeof FormContentType[keyof typeof FormContentType]; /** * Form responses represent a collection of answers to a particular form version, optionally associated with a particular member. * * You can create form responses to capture answers to a form by specifying the form to which the response relates. Source automatically relates the response to the form's current published version at the time you create the response. Note that a form response remains tied to a given form version, and updates to other versions of that form do not affect existing responses. * * Form responses support both responses created by members and those created by anonymous authors, such as during an intake workflow, before you have created a member in Source. You can update an existing response with additional answers and optionally submit it in order to update its status. */ export declare type FormResponse = Node & { readonly __typename: 'FormResponse'; /** Author of this form response. Source infers the author from the actor who creates the response, such as the member ID for a response created using a member token. */ readonly author: Scalars['String']; /** Timestamp when the form response was submitted. */ readonly completedAt: Maybe; /** Timestamp of when this resource was created. */ readonly createdAt: Scalars['DateTime']; /** The key of the early exit point the author reached, if any. Forms support conditional early exits that appear based on the author's responses. If the author reaches an early exit point during the response, the key of that early exit point is specified here. */ readonly earlyExitPoint: Maybe; /** The form associated with this form response. */ readonly form: Form; /** The version of the form associated with this form response. The form version associated with the response cannot be changed after creation. Any updates to this response relate to this same form version. */ readonly formVersion: FormVersion; /** Unique ID of this resource */ readonly id: Scalars['ID']; /** Member to which the form response belongs. Members can only view responses that are associated with them or with a member whose data they are authorized to access via a relationship. */ readonly member: Maybe; /** The individual responses that capture the author's answers to corresponding items within the form version., */ readonly responses: ReadonlyArray; /** Current status of this form response. By default, newly created form responses use the 'started' status. When a form is submitted, the status changes to 'completed'. */ readonly status: FormResponseStatus; /** Timestamp of when this resource was last updated. */ readonly updatedAt: Scalars['DateTime']; }; /** A time based range filter on the list based on the object completedAt field. */ export declare type FormResponseCompletedAtArgInput = { /** Return results where the completedAt field is greater than this value. */ readonly gt?: InputMaybe; /** Return results where the completedAt field is greater than or equal to this value. */ readonly gte?: InputMaybe; /** Return results where the completedAt field is less than this value. */ readonly lt?: InputMaybe; /** Return results where the completedAt field is less than or equal to this value. */ readonly lte?: InputMaybe; }; export declare type FormResponseConnection = { readonly __typename: 'FormResponseConnection'; /** https://facebook.github.io/relay/graphql/connections.htm#sec-Edge-Types */ readonly edges: ReadonlyArray; /** Flattened list of FormResponse type */ readonly nodes: ReadonlyArray; /** https://facebook.github.io/relay/graphql/connections.htm#sec-undefined.PageInfo */ readonly pageInfo: PageInfo; }; /** A time based range filter on the list based on the object createdAt field. */ export declare type FormResponseCreatedAtArgInput = { /** Return results where the createdAt field is greater than this value. */ readonly gt?: InputMaybe; /** Return results where the createdAt field is greater than or equal to this value. */ readonly gte?: InputMaybe; /** Return results where the createdAt field is less than this value. */ readonly lt?: InputMaybe; /** Return results where the createdAt field is less than or equal to this value. */ readonly lte?: InputMaybe; }; export declare type FormResponseEdge = { readonly __typename: 'FormResponseEdge'; /** https://facebook.github.io/relay/graphql/connections.htm#sec-Cursor */ readonly cursor: Scalars['String']; /** https://facebook.github.io/relay/graphql/connections.htm#sec-Node */ readonly node: FormResponse; }; export declare type FormResponseInput = { /** The version of the form associated with this form response. The form version associated with the response cannot be changed after creation. Any updates to this response relate to this same form version. */ readonly formVersion: Scalars['ID']; /** The individual responses that capture the author's answers to corresponding items within the form version. Each response is associated with the item key of the corresponding question in the form version. */ readonly responses?: InputMaybe>; /** If true, submits the response after updating any included responses. Updates the form response status to 'completed'. */ readonly submit?: InputMaybe; }; export declare type FormResponseItem = { readonly __typename: 'FormResponseItem'; readonly item: Question; readonly response: Scalars['JSONObject']; }; export declare type FormResponseItemInput = { readonly key: Scalars['String']; readonly values: Scalars['JSONObject']; }; export declare const FormResponseStatus: { readonly Completed: "COMPLETED"; readonly Started: "STARTED"; }; export declare type FormResponseStatus = typeof FormResponseStatus[keyof typeof FormResponseStatus]; export declare type FormResponseUpdateInput = { /** The individual responses that capture the author's answers to corresponding items within the form version. Each response is associated with the item key of the corresponding question in the form version. */ readonly responses?: InputMaybe>; /** If true, submits the response after updating any included responses. Updates the form response status to 'completed'. */ readonly submit?: InputMaybe; }; export declare const FormResponsesSortArg: { readonly CompletedAt: "COMPLETED_AT"; readonly CompletedAtDesc: "COMPLETED_AT_DESC"; readonly CreatedAt: "CREATED_AT"; readonly CreatedAtDesc: "CREATED_AT_DESC"; }; export declare type FormResponsesSortArg = typeof FormResponsesSortArg[keyof typeof FormResponsesSortArg]; export declare type FormVersion = Node & { readonly __typename: 'FormVersion'; /** Timestamp when the form version was created. */ readonly createdAt: Scalars['DateTime']; /** A map of early exit point keys to exit screen content. Each form version must contain an exit screen with the key 'default', and additional exit screens can be configured and referenced by early exit points within the form version. */ readonly exitScreens: ReadonlyArray; /** Unique ID of this resource */ readonly id: Scalars['ID']; /** An array of items that describe the form version's content and configuration. Pages form the top-level item and contain additional elements, such as questions, display elements, early exit points, and groups of items. */ readonly items: ReadonlyArray; /** Timestamp when the form version was published. */ readonly publishedAt: Maybe; /** Timestamp when the form version was last updated. */ readonly updatedAt: Scalars['DateTime']; /** Version number of this form version. The version number is automatically incremented when you publish a form version and a new draft version is created. */ readonly version: Scalars['Int']; }; /** A question type for recording free text responses in a single line of plain text. */ export declare type FreeTextQuestion = Question & { readonly __typename: 'FreeTextQuestion'; /** A conditional statement - if it evaluates to true, this question will be displayed, if false the question will not be displayed and no response will be recorded for it. */ readonly conditional: Maybe; /** An optional secondary text for this question, which will be displayed under the title and can contain, for example, instructions on how to answer the question. */ readonly description: Maybe; /** Unique key of this question within the form. Used in responses and conditional logic. */ readonly key: Scalars['String']; /** Type of the question. */ readonly questionType: QuestionType; /** Whether a response to this question is required or optional. Questions that are hidden by conditional rules are never required to have a response. */ readonly required: Scalars['Boolean']; /** Display title of this question in the form, i.e. the question text itself. */ readonly title: Scalars['String']; }; export declare type GenderIdentity = { readonly __typename: 'GenderIdentity'; /** Human-readable display text of coded value, or member-provided string when value is 'other' */ readonly text: Scalars['String']; /** Coded value */ readonly value: GenderIdentityCode; }; export declare const GenderIdentityCode: { readonly Female: "FEMALE"; readonly Male: "MALE"; readonly NonBinary: "NON_BINARY"; readonly Other: "OTHER"; readonly TransgenderFemale: "TRANSGENDER_FEMALE"; readonly TransgenderMale: "TRANSGENDER_MALE"; readonly Undisclosed: "UNDISCLOSED"; }; export declare type GenderIdentityCode = typeof GenderIdentityCode[keyof typeof GenderIdentityCode]; export declare type GenderIdentityInput = { readonly text?: InputMaybe; readonly value: GenderIdentityCode; }; /** A question for recording a gender identity. Source supports selecting between some standardized values or entering a user-generated text response. */ export declare type GenderIdentityQuestion = Question & { readonly __typename: 'GenderIdentityQuestion'; /** A conditional statement - if it evaluates to true, this question will be displayed, if false the question will not be displayed and no response will be recorded for it. */ readonly conditional: Maybe; /** An optional secondary text for this question, which will be displayed under the title and can contain, for example, instructions on how to answer the question. */ readonly description: Maybe; /** Unique key of this question within the form. Used in responses and conditional logic. */ readonly key: Scalars['String']; /** Type of the question. */ readonly questionType: QuestionType; /** Whether a response to this question is required or optional. Questions that are hidden by conditional rules are never required to have a response. */ readonly required: Scalars['Boolean']; /** Display title of this question in the form, i.e. the question text itself. */ readonly title: Scalars['String']; }; /** * A group within a form is used to apply a conditional display to a group of questions and display elements. One common use for groups is to ask one question and then a series of follow-up questions for certain responses to the first question. * * Groups cannot span multiple pages nor contain other groups. */ export declare type Group = { readonly __typename: 'Group'; /** A conditional statement - if it evaluates to true, this group will be displayed, if false the items inside this group will not be displayed. */ readonly conditional: Maybe; /** Array of form items, such as questions and display elements. */ readonly items: ReadonlyArray; }; /** Any form element that can be part of a group (questions, display elements, and early exit points). */ export declare type GroupItem = AddressQuestion | DateQuestion | EarlyExitPoint | FreeTextQuestion | GenderIdentityQuestion | MultiSelectQuestion | NameQuestion | NumberQuestion | PhoneNumbersQuestion | PronounsQuestion | RichText | SexAtBirthQuestion | SingleSelectQuestion; export declare type Member = Node & Person & { readonly __typename: 'Member'; /** Indicates whether any of the member's information has been redacted for security reasons. Possible values are: full - all member fields that are populated in Source have been returned, for example a member viewing themselves, or a care team or API key retrieving a member within their account; or limited - only some very basic identifying information such as name and profile image has been returned, for example a caregiver who can see another caregiver participating in message threads for a member they are both related to, even when the caregivers are not directly related. */ readonly accessLevel: AccessLevel; readonly address: Maybe
; /** The gender of a person used for administrative purposes, such as on government-issued ID documents. */ readonly administrativeGender: Maybe; readonly careTeam: CareTeam; /** Timestamp of when this resource was created. */ readonly createdAt: Scalars['DateTime']; /** Date of birth of the member. */ readonly dateOfBirth: Maybe; /** The individual's name, formatted for presentation to others */ readonly displayName: Maybe; /** Email address for the member. */ readonly email: Maybe; /** * Current status of the member's enrollment in receiving care services. By default, newly created members are in the `enrolled` status. If a member is not actively receiving care, use the `not_enrolled` status. * * When viewing a member with `access_level = 'limited'`, the value of `enrollment_status` will be `redacted`. This is not valid as an input. */ readonly enrollmentStatus: Maybe; /** First name of the member. */ readonly firstName: Scalars['String']; /** The individual member's identification of gender. Note that receiving a null value for gender is not the same as an undisclosed gender. The latter means that the member specifically opted to not disclose a gender. The former indicates that the gender is unknown and/or was not provided. */ readonly genderIdentity: Maybe; /** Unique ID of this resource */ readonly id: Scalars['ID']; /** Last name of the member. */ readonly lastName: Scalars['String']; /** Middle name of the member. */ readonly middleName: Maybe; /** An array of phone numbers associated with the member */ readonly phoneNumbers: ReadonlyArray; /** The member's preferred name. This could be a shortened or alternate name that the member typically prefers to be called. */ readonly preferredName: Maybe; /** The file for this profile image. */ readonly profileImage: Maybe; /** Describes how the person would like to be referred to when not using their name. */ readonly pronouns: Maybe; /** Sex assigned and recorded on the birth certificate at the time of the individual's birth. This information is often clinically useful, but is not necessarily indicative of the individual's gender identity. */ readonly sexAtBirth: Maybe; /** The IANA time zone identifier of the member, if one is known. If no time zone is known, null is returned. */ readonly timeZone: Maybe; /** Title for the member (Mr., Mrs., Dr., etc). */ readonly title: Maybe; /** Timestamp of when this resource was last updated. */ readonly updatedAt: Scalars['DateTime']; }; export declare type MemberUpdateInput = { /** Default address for the member. Used if no address is provided on a specific order. */ readonly address?: InputMaybe; /** The gender of a person used for administrative purposes, such as on government-issued ID documents. */ readonly administrativeGender?: InputMaybe; /** Email address for the member */ readonly email?: InputMaybe; /** The individual member's identification of gender. Note that receiving a null value for gender is not the same as an undisclosed gender. The latter means that the user specifically opted to not disclose a gender. The former indicates that the gender is unknown and/or was not provided. */ readonly genderIdentity?: InputMaybe; /** The phone number to use. This should be formatted in E.164 format. */ readonly phoneNumbers?: InputMaybe>; /** Preferred name of the member. This could be a shortened or alternate name that the member typically prefers to be called. */ readonly preferredName?: InputMaybe; /** The file for the member's profile image. Must be of type `photo` */ readonly profileImage?: InputMaybe; /** Describes how the person would like to be referred to when not using their name. */ readonly pronouns?: InputMaybe; /** The IANA time zone identifier of the member. Source uses this time zone when booking appointments on behalf of a member, and will use the time zone information when formatting email notifications to members. */ readonly timeZone?: InputMaybe; /** Title for the member (Mr., Mrs., Dr., etc). */ readonly title?: InputMaybe; }; export declare type Message = { readonly __typename: 'Message'; /** Any attachments to the message, such as files and links. */ readonly attachments: ReadonlyArray; /** Unique ID of this resource. */ readonly id: Scalars['ID']; /** The API key who sent the message on behalf of `sender`. If null, the message sender was not impersonated. */ readonly impersonatedBy: Maybe; /** The time at which this message redacted. */ readonly redactedAt: Maybe; /** The person who sent this message. */ readonly sender: Person; /** The time at which this message was sent. */ readonly sentAt: Scalars['DateTime']; /** Plain text contents of the message. */ readonly text: Scalars['String']; /** Thread to which the message belongs. */ readonly thread: Thread; /** The type of message that was sent. Text messages are messages from a member or user and represent most messages sent on the platform. System messages are automatically generated when notable thread events occur (such as reassignments and status changes). */ readonly type: MessageType; }; export declare type MessageAttachment = { /** A description of the attachment. If a file uploaded to Source is attached, the file's name is displayed. Otherwise, this description is displayed. */ readonly description: Maybe; /** * A map of your own metadata to be included alongside this attachment. For example, you can use this metadata for bookkeeping or rendering in your member experience. * * Metadata may only be set when calling the API with your API keys. It cannot be set when using member tokens. */ readonly metadata: Scalars['JSONObject']; /** The type of attachment. Currently, the only supported attachment types are `file` and `link`, but other attachment types may be added. */ readonly type: MessageAttachmentType; /** The URL where the attachment's contents can be accessed. For link attachments, the link to redirect. For file attachments, the URL returned by Source is a link to the file. */ readonly url: Scalars['String']; }; export declare type MessageAttachmentInput = { /** A description of the attachment to display. If a file uploaded to Source is attached, the file's name overrides a description and is displayed. Otherwise, this description is displayed. */ readonly description?: InputMaybe; /** Unique ID of the resource to be attached to this message. When attaching a file, this should be set to the uploaded file's ID. */ readonly resource?: InputMaybe; /** The type of attachment. Currently, the supported attachment types are `file` and `link`. If set to file, then a resource must be provided. If set to link, then a URL must be provided. Other attachment types may be added in the future. */ readonly type: MessageAttachmentType; /** The URL where the attachment's contents can be accessed. For link attachments, the link to redirect. For file attachments, the URL returned by Source is a link to the file. */ readonly url?: InputMaybe; }; export declare const MessageAttachmentType: { readonly File: "FILE"; readonly Link: "LINK"; }; export declare type MessageAttachmentType = typeof MessageAttachmentType[keyof typeof MessageAttachmentType]; export declare type MessageConnection = { readonly __typename: 'MessageConnection'; /** https://facebook.github.io/relay/graphql/connections.htm#sec-Edge-Types */ readonly edges: ReadonlyArray; /** Flattened list of Message type */ readonly nodes: ReadonlyArray; /** https://facebook.github.io/relay/graphql/connections.htm#sec-undefined.PageInfo */ readonly pageInfo: PageInfo; }; export declare type MessageEdge = { readonly __typename: 'MessageEdge'; /** https://facebook.github.io/relay/graphql/connections.htm#sec-Cursor */ readonly cursor: Scalars['String']; /** https://facebook.github.io/relay/graphql/connections.htm#sec-Node */ readonly node: Message; }; export declare type MessageFileAttachment = MessageAttachment & { readonly __typename: 'MessageFileAttachment'; /** A description of the attachment. If a file uploaded to Source is attached, the file's name is displayed. Otherwise, this description is displayed. */ readonly description: Maybe; /** * A map of your own metadata to be included alongside this attachment. For example, you can use this metadata for bookkeeping or rendering in your member experience. * * Metadata may only be set when calling the API with your API keys. It cannot be set when using member tokens. */ readonly metadata: Scalars['JSONObject']; /** The resource which is attached to the message */ readonly resource: File; /** The type of attachment. Currently, the only supported attachment types are `file` and `link`, but other attachment types may be added. */ readonly type: MessageAttachmentType; /** The URL where the attachment's contents can be accessed. For link attachments, the link to redirect. For file attachments, the URL returned by Source is a link to the file. */ readonly url: Scalars['String']; }; export declare type MessageInput = { readonly attachments?: InputMaybe>; /** Contents of the message to send. */ readonly text: Scalars['String']; /** Unique ID of the thread to which the message belongs. */ readonly thread: Scalars['ID']; /** Actions to apply to the thread after the message has been sent. Source guarantees that these actions will only be applied if the message has been successfully sent. See the documentation for nested params for information about each available action. */ readonly threadActions?: InputMaybe; }; export declare type MessageLinkAttachment = MessageAttachment & { readonly __typename: 'MessageLinkAttachment'; /** A description of the attachment. If a file uploaded to Source is attached, the file's name is displayed. Otherwise, this description is displayed. */ readonly description: Maybe; /** * A map of your own metadata to be included alongside this attachment. For example, you can use this metadata for bookkeeping or rendering in your member experience. * * Metadata may only be set when calling the API with your API keys. It cannot be set when using member tokens. */ readonly metadata: Scalars['JSONObject']; /** The type of attachment. Currently, the only supported attachment types are `file` and `link`, but other attachment types may be added. */ readonly type: MessageAttachmentType; /** The URL where the attachment's contents can be accessed. For link attachments, the link to redirect. For file attachments, the URL returned by Source is a link to the file. */ readonly url: Scalars['String']; }; export declare type MessagePreview = { readonly __typename: 'MessagePreview'; /** Any attachments to the message, such as files and links. */ readonly attachments: ReadonlyArray; /** The time at which this message redacted. */ readonly redactedAt: Maybe; /** The person who sent this message. */ readonly sender: Person; /** The time at which this message was sent. */ readonly sentAt: Scalars['DateTime']; /** Plain text contents of the message. */ readonly text: Scalars['String']; }; export declare const MessageType: { readonly System: "SYSTEM"; readonly Text: "TEXT"; }; export declare type MessageType = typeof MessageType[keyof typeof MessageType]; export declare const MultiSelectInputType: { readonly Checkbox: "CHECKBOX"; }; export declare type MultiSelectInputType = typeof MultiSelectInputType[keyof typeof MultiSelectInputType]; export declare type MultiSelectQuestion = Question & { readonly __typename: 'MultiSelectQuestion'; /** A conditional statement - if it evaluates to true, this question will be displayed, if false the question will not be displayed and no response will be recorded for it. */ readonly conditional: Maybe; /** An optional secondary text for this question, which will be displayed under the title and can contain, for example, instructions on how to answer the question. */ readonly description: Maybe; /** Control the input type of the multi-select question. */ readonly inputType: MultiSelectInputType; /** Unique key of this question within the form. Used in responses and conditional logic. */ readonly key: Scalars['String']; /** The list of options available for this question. */ readonly options: ReadonlyArray; /** Controls whether user-generated 'other' free text fields is offered, and whether at least one free text response is required. If this object is blank or null, no 'other' option is presented. */ readonly other: Maybe; /** Type of the question. */ readonly questionType: QuestionType; /** Whether a response to this question is required or optional. Questions that are hidden by conditional rules are never required to have a response. */ readonly required: Scalars['Boolean']; /** Display title of this question in the form, i.e. the question text itself. */ readonly title: Scalars['String']; }; export declare type Mutation = { readonly __typename: 'Mutation'; /** Books a new appointment in Source. Members are only able to book an appointment for themselves. Appointments created by members must follow the rules of the selected appointment type, and the constraint checks may not be bypassed. */ readonly appointmentBook: Appointment; /** * Cancels an existing appointment. * * Canceled appointments will not show up by default when listing appointments, but they can be optionally requested. Appointments must be canceled before they can be deleted. Once an appointment is canceled, it can no longer be modified. */ readonly appointmentCancel: Appointment; /** * Reschedules an appointment in Source. * * Parameters that are omitted from this endpoint will be left untouched. When changing the time of an appointment, you can provide an updated start_at and duration. If you omit one of these two, it will be inferred from the current state of the event. * * When adding participants to an existing appointment, Source will only perform conflict checks on the newly added participants, ignoring any potential conflicts for participants who are already on the appointment. */ readonly appointmentReschedule: Appointment; readonly fileCreate: File; /** Creates a new form response for the current active version of the form you specify. Optionally, you can associate the form with a member. */ readonly formResponseCreate: FormResponse; /** * Updates a form response. * * Responses included in the update request are updated and/or appended to the existing response based on each response's associated item key. You can submit a form response when the response is complete using the 'submit' parameter. */ readonly formResponseUpdate: FormResponse; /** * Updates the specified member by setting the values of the parameters passed. * * Any parameters not provided will be left unchanged. For example, if you pass the email parameter, that becomes the member's active email to be used. */ readonly memberUpdate: Member; /** Creates a message within a thread. */ readonly messageCreate: Message; /** Creates a new messaging thread. */ readonly threadCreate: Thread; /** * Marks a thread as read by the member. You can provide a timestamp through which the member has read. All message appearing before this timestamp will be shown as read by the member in the Source Elements SDK. If you're not using Elements, you can use this timestamp to track where the member has read in your own interface. * * Providing null or not providing an input marks the entire thread as unread. */ readonly threadMark: Thread; /** Change the thread status or subject. */ readonly threadUpdate: Thread; }; export declare type MutationAppointmentBookArgs = { input: AppointmentBookInput; }; export declare type MutationAppointmentCancelArgs = { id: Scalars['ID']; }; export declare type MutationAppointmentRescheduleArgs = { id: Scalars['ID']; input: AppointmentRescheduleInput; }; export declare type MutationFileCreateArgs = { file: Scalars['Upload']; purpose: FilePurpose; }; export declare type MutationFormResponseCreateArgs = { input: FormResponseInput; }; export declare type MutationFormResponseUpdateArgs = { id: Scalars['ID']; input: FormResponseUpdateInput; }; export declare type MutationMemberUpdateArgs = { id: Scalars['ID']; input: MemberUpdateInput; }; export declare type MutationMessageCreateArgs = { input: MessageInput; }; export declare type MutationThreadCreateArgs = { input: ThreadCreateInput; }; export declare type MutationThreadMarkArgs = { id: Scalars['ID']; memberLastRead?: InputMaybe; }; export declare type MutationThreadUpdateArgs = { id: Scalars['ID']; input: ThreadUpdateInput; }; /** A question for recording a person's name. Source uses multiple fields for names: First, middle, and last names, and an optional 'preferred' name field which can be disabled. */ export declare type NameQuestion = Question & { readonly __typename: 'NameQuestion'; /** A conditional statement - if it evaluates to true, this question will be displayed, if false the question will not be displayed and no response will be recorded for it. */ readonly conditional: Maybe; /** An optional secondary text for this question, which will be displayed under the title and can contain, for example, instructions on how to answer the question. */ readonly description: Maybe; /** Indicates which fields are optional, required, or should not be shown at all. */ readonly fields: NameQuestionFieldConfig; /** Unique key of this question within the form. Used in responses and conditional logic. */ readonly key: Scalars['String']; /** Type of the question. */ readonly questionType: QuestionType; /** Whether a response to this question is required or optional. Questions that are hidden by conditional rules are never required to have a response. */ readonly required: Scalars['Boolean']; /** Display title of this question in the form, i.e. the question text itself. */ readonly title: Scalars['String']; }; export declare type NameQuestionFieldConfig = { readonly __typename: 'NameQuestionFieldConfig'; readonly preferred: FieldPresence; }; export declare type Node = { /** Timestamp of when this resource was created. */ readonly createdAt: Scalars['DateTime']; /** Unique ID of this resource */ readonly id: Scalars['ID']; /** Timestamp of when this resource was last updated. */ readonly updatedAt: Scalars['DateTime']; }; /** A question type for recording numerical responses as a single number, either an integer or decimal. */ export declare type NumberQuestion = Question & { readonly __typename: 'NumberQuestion'; /** A conditional statement - if it evaluates to true, this question will be displayed, if false the question will not be displayed and no response will be recorded for it. */ readonly conditional: Maybe; /** An optional secondary text for this question, which will be displayed under the title and can contain, for example, instructions on how to answer the question. */ readonly description: Maybe; /** Unique key of this question within the form. Used in responses and conditional logic. */ readonly key: Scalars['String']; /** Control the maximum allowed value */ readonly max: Maybe; /** Control the minimum allowed value */ readonly min: Maybe; /** Type of the question. */ readonly questionType: QuestionType; /** Whether a response to this question is required or optional. Questions that are hidden by conditional rules are never required to have a response. */ readonly required: Scalars['Boolean']; /** Display title of this question in the form, i.e. the question text itself. */ readonly title: Scalars['String']; }; /** Pages are the top-level organization of a form. At least one page must exist. Each page defines the elements that display together to a responder and consists of an array of other form items. */ export declare type Page = { readonly __typename: 'Page'; /** A conditional statement - if it evaluates to true, this group will be displayed, if false the items inside this group will not be displayed. */ readonly conditional: Maybe; /** Array of form elements. Pages can include any element, except another page. */ readonly items: ReadonlyArray; }; /** PageInfo cursor, as defined in https://facebook.github.io/relay/graphql/connections.htm#sec-undefined.PageInfo */ export declare type PageInfo = { readonly __typename: 'PageInfo'; /** The cursor corresponding to the last nodes in edges. Null if the connection is empty. */ readonly endCursor: Maybe; /** Used to indicate whether more edges exist following the set defined by the clients arguments. */ readonly hasNextPage: Scalars['Boolean']; /** Used to indicate whether more edges exist prior to the set defined by the clients arguments. */ readonly hasPreviousPage: Scalars['Boolean']; /** The cursor corresponding to the first nodes in edges. Null if the connection is empty. */ readonly startCursor: Maybe; }; /** Any form element that can be part of a page (that is any element, except another page). */ export declare type PageItem = AddressQuestion | DateQuestion | EarlyExitPoint | FreeTextQuestion | GenderIdentityQuestion | Group | MultiSelectQuestion | NameQuestion | NumberQuestion | PhoneNumbersQuestion | PronounsQuestion | RichText | SexAtBirthQuestion | SingleSelectQuestion; export declare type Person = { /** The individual's name, formatted for presentation to others */ readonly displayName: Maybe; /** Unique ID of this resource */ readonly id: Scalars['ID']; /** The file for this profile image. */ readonly profileImage: Maybe; }; export declare type PhoneNumber = { readonly __typename: 'PhoneNumber'; /** Type of phone number. */ readonly use: PhoneNumberUse; /** The phone number to use. This should be formatted in E.164 format. */ readonly value: Scalars['String']; }; export declare const PhoneNumberUse: { readonly Fax: "FAX"; readonly Home: "HOME"; readonly Mobile: "MOBILE"; readonly Other: "OTHER"; readonly Work: "WORK"; }; export declare type PhoneNumberUse = typeof PhoneNumberUse[keyof typeof PhoneNumberUse]; export declare type PhoneNumbersInput = { /** Type of phone number. */ readonly use: PhoneNumberUse; /** The phone number to use. This should be formatted in E.164 format. */ readonly value: Scalars['String']; }; /** A question for recording phone numbers. Source supports multiple phone numbers for a member, and requires a 'use' value for each number (e.g. mobile, work, or fax.) */ export declare type PhoneNumbersQuestion = Question & { readonly __typename: 'PhoneNumbersQuestion'; /** Control which 'use' values are allowed (e.g. 'mobile', or 'fax'). */ readonly allowedUses: ReadonlyArray; /** A conditional statement - if it evaluates to true, this question will be displayed, if false the question will not be displayed and no response will be recorded for it. */ readonly conditional: Maybe; /** An optional secondary text for this question, which will be displayed under the title and can contain, for example, instructions on how to answer the question. */ readonly description: Maybe; /** Unique key of this question within the form. Used in responses and conditional logic. */ readonly key: Scalars['String']; /** The maximum number of phone numbers that can be collected. */ readonly max: Scalars['Int']; /** Type of the question. */ readonly questionType: QuestionType; /** Whether a response to this question is required or optional. Questions that are hidden by conditional rules are never required to have a response. */ readonly required: Scalars['Boolean']; /** Display title of this question in the form, i.e. the question text itself. */ readonly title: Scalars['String']; }; export declare type Pronoun = { readonly __typename: 'Pronoun'; /** Human-readable display text of coded value, or member-provided string when value is 'other' */ readonly text: Scalars['String']; /** Coded value or 'other' */ readonly value: PronounCode; }; export declare const PronounCode: { readonly HeHim: "HE_HIM"; readonly Other: "OTHER"; readonly SheHer: "SHE_HER"; readonly TheyThem: "THEY_THEM"; }; export declare type PronounCode = typeof PronounCode[keyof typeof PronounCode]; export declare type PronounInput = { /** Human-readable display text of coded value, or member-provided string when value is 'other' */ readonly text?: InputMaybe; /** Coded value or 'other' */ readonly value: PronounCode; }; /** A question for recording a person's pronouns. Source supports selecting between some standardized values or entering a user-generated text response. See also: gender identity. */ export declare type PronounsQuestion = Question & { readonly __typename: 'PronounsQuestion'; /** A conditional statement - if it evaluates to true, this question will be displayed, if false the question will not be displayed and no response will be recorded for it. */ readonly conditional: Maybe; /** An optional secondary text for this question, which will be displayed under the title and can contain, for example, instructions on how to answer the question. */ readonly description: Maybe; /** Unique key of this question within the form. Used in responses and conditional logic. */ readonly key: Scalars['String']; /** Type of the question. */ readonly questionType: QuestionType; /** Whether a response to this question is required or optional. Questions that are hidden by conditional rules are never required to have a response. */ readonly required: Scalars['Boolean']; /** Display title of this question in the form, i.e. the question text itself. */ readonly title: Scalars['String']; }; export declare type Query = { readonly __typename: 'Query'; /** Retrieves an existing appointment by its unique identifier. Members can access appointments provided that they've been added as a participant. */ readonly appointment: Appointment; /** Retrieve an appointment type by its unique identifier. */ readonly appointmentType: AppointmentType; /** Lists all available appointment types. */ readonly appointmentTypes: AppointmentTypeConnection; /** List all appointments in a given time range, or for a given set of participants. */ readonly appointments: AppointmentConnection; /** Retrieves the details of an existing care team. You need only supply the unique care team identifier that was returned upon creation, or that is associated with a particular member object). */ readonly careTeam: CareTeam; /** Retrieves the details of an existing document. */ readonly document: Document; /** * Returns a list of documents. * * The documents returned are sorted by creation date, with the most recently added documents appearing first. */ readonly documents: DocumentConnection; /** Retrieves the details of an existing file. You need only supply the unique file identifier that was returned upon file creation. */ readonly file: File; /** Retrieves the details of an existing form. Forms must have a published form version, and must not be archived. */ readonly form: Form; /** Retrieves the details of an existing form response. You need only supply the unique form identifier that was returned upon creation. */ readonly formResponse: FormResponse; /** Returns a list of form responses within the current account. The responses returned are sorted by creation date, with the most recently added appearing first. */ readonly formResponses: FormResponseConnection; /** Retrieve the details of the current member. */ readonly member: Member; /** Retrieves the details of a message. You need only supply the unique message identifier that was returned upon creation. */ readonly message: Message; /** * Returns a list of messages within a thread. * * The messages returned are sorted with the most recently sent appearing first. */ readonly messages: MessageConnection; /** Retrieves the details of an existing relationship. You need only supply the unique relationship identifier that was returned upon relationship creation. */ readonly relationship: Relationship; /** * Returns a list of relationships the member is part of. * * The relationships by default are sorted by creation_date, with the most recently created relationship appearing first. */ readonly relationships: RelationshipConnection; /** * This endpoint lists all bookable appointments slots for a set of users, given a list of participants to include and a list of participants to exclude. * * Availability queries can only look at a maximum window of 31 days (a complete calendar month). If you need to look at availability windows greater than 31 days, please reach out to our team. */ readonly slots: AvailableSlots; /** Retrieves the details of an existing thread. You need only supply the unique thread identifier that was returned upon creation. */ readonly thread: Thread; /** * Returns a list of threads within the current account. * * The threads returned are sorted with the most recently updated appearing first. */ readonly threads: ThreadConnection; /** Retrieve a user by their unique identifier. */ readonly user: User; /** * Returns a list of users within the current account. * * The users returned are sorted by creation date, with the most recently added users appearing first. */ readonly users: UserConnection; }; export declare type QueryAppointmentArgs = { id: Scalars['ID']; }; export declare type QueryAppointmentTypeArgs = { id: Scalars['ID']; }; export declare type QueryAppointmentTypesArgs = { after?: InputMaybe; before?: InputMaybe; bookable?: InputMaybe; first?: InputMaybe; key?: InputMaybe; last?: InputMaybe; name?: InputMaybe; sort?: InputMaybe; }; export declare type QueryAppointmentsArgs = { after?: InputMaybe; before?: InputMaybe; endAt?: InputMaybe; first?: InputMaybe; last?: InputMaybe; participant?: InputMaybe>; sort?: InputMaybe; startAt?: InputMaybe; status?: InputMaybe>; type?: InputMaybe>; }; export declare type QueryCareTeamArgs = { id: Scalars['ID']; }; export declare type QueryDocumentArgs = { id: Scalars['ID']; }; export declare type QueryDocumentsArgs = { after?: InputMaybe; before?: InputMaybe; createdAt?: InputMaybe; date?: InputMaybe; first?: InputMaybe; last?: InputMaybe; name?: InputMaybe; sort?: InputMaybe; }; export declare type QueryFileArgs = { id: Scalars['ID']; }; export declare type QueryFormArgs = { form: Scalars['String']; }; export declare type QueryFormResponseArgs = { id: Scalars['ID']; }; export declare type QueryFormResponsesArgs = { after?: InputMaybe; before?: InputMaybe; completedAt?: InputMaybe; createdAt?: InputMaybe; first?: InputMaybe; form?: InputMaybe>; last?: InputMaybe; sort?: InputMaybe; status?: InputMaybe>; }; export declare type QueryMessageArgs = { id: Scalars['ID']; }; export declare type QueryMessagesArgs = { after?: InputMaybe; before?: InputMaybe; first?: InputMaybe; last?: InputMaybe; thread: Scalars['ID']; }; export declare type QueryRelationshipArgs = { id: Scalars['ID']; }; export declare type QueryRelationshipsArgs = { after?: InputMaybe; authorizedMember?: InputMaybe; before?: InputMaybe; first?: InputMaybe; last?: InputMaybe; status?: InputMaybe>; subjectMember?: InputMaybe; }; export declare type QuerySlotsArgs = { appointmentType: Scalars['String']; duration?: InputMaybe; endAt: Scalars['DateTime']; excludeParticipants?: InputMaybe>; licenseRegion?: InputMaybe; outputTimeZone?: InputMaybe; participants?: InputMaybe>; reschedulingAppointment?: InputMaybe; routingStrategy?: InputMaybe; startAt: Scalars['DateTime']; }; export declare type QueryThreadArgs = { id: Scalars['ID']; }; export declare type QueryThreadsArgs = { after?: InputMaybe; assignee?: InputMaybe; before?: InputMaybe; first?: InputMaybe; last?: InputMaybe; status?: InputMaybe>; }; export declare type QueryUserArgs = { id: Scalars['ID']; }; export declare type QueryUsersArgs = { after?: InputMaybe; before?: InputMaybe; email?: InputMaybe; first?: InputMaybe; groups?: InputMaybe>; includeDeactivated?: InputMaybe; last?: InputMaybe; name?: InputMaybe; role?: InputMaybe>; sort?: InputMaybe; }; export declare type Question = { /** A conditional statement - if it evaluates to true, this question will be displayed, if false the question will not be displayed and no response will be recorded for it. */ readonly conditional: Maybe; /** An optional secondary text for this question, which will be displayed under the title and can contain, for example, instructions on how to answer the question. */ readonly description: Maybe; /** Unique key of this question within the form. Used in responses and conditional logic. */ readonly key: Scalars['String']; /** Type of the question. */ readonly questionType: QuestionType; /** Whether a response to this question is required or optional. Questions that are hidden by conditional rules are never required to have a response. */ readonly required: Scalars['Boolean']; /** Display title of this question in the form, i.e. the question text itself. */ readonly title: Scalars['String']; }; export declare const QuestionType: { readonly Address: "ADDRESS"; readonly Date: "DATE"; readonly FreeText: "FREE_TEXT"; readonly GenderIdentity: "GENDER_IDENTITY"; readonly MultiSelect: "MULTI_SELECT"; readonly Name: "NAME"; readonly Number: "NUMBER"; readonly PhoneNumbers: "PHONE_NUMBERS"; readonly Pronouns: "PRONOUNS"; readonly SexAtBirth: "SEX_AT_BIRTH"; readonly SingleSelect: "SINGLE_SELECT"; }; export declare type QuestionType = typeof QuestionType[keyof typeof QuestionType]; export declare const Region: { readonly Aa: "AA"; readonly Ae: "AE"; readonly Ak: "AK"; readonly Al: "AL"; readonly Ap: "AP"; readonly Ar: "AR"; readonly As: "AS"; readonly Az: "AZ"; readonly Ca: "CA"; readonly Co: "CO"; readonly Ct: "CT"; readonly Dc: "DC"; readonly De: "DE"; readonly Fl: "FL"; readonly Fm: "FM"; readonly Ga: "GA"; readonly Gu: "GU"; readonly Hi: "HI"; readonly Ia: "IA"; readonly Id: "ID"; readonly Il: "IL"; readonly In: "IN"; readonly Ks: "KS"; readonly Ky: "KY"; readonly La: "LA"; readonly Ma: "MA"; readonly Md: "MD"; readonly Me: "ME"; readonly Mh: "MH"; readonly Mi: "MI"; readonly Mn: "MN"; readonly Mo: "MO"; readonly Mp: "MP"; readonly Ms: "MS"; readonly Mt: "MT"; readonly Nc: "NC"; readonly Nd: "ND"; readonly Ne: "NE"; readonly Nh: "NH"; readonly Nj: "NJ"; readonly Nm: "NM"; readonly Nv: "NV"; readonly Ny: "NY"; readonly Oh: "OH"; readonly Ok: "OK"; readonly Or: "OR"; readonly Pa: "PA"; readonly Pr: "PR"; readonly Pw: "PW"; readonly Ri: "RI"; readonly Sc: "SC"; readonly Sd: "SD"; readonly Tn: "TN"; readonly Tx: "TX"; readonly Ut: "UT"; readonly Va: "VA"; readonly Vi: "VI"; readonly Vt: "VT"; readonly Wa: "WA"; readonly Wi: "WI"; readonly Wv: "WV"; readonly Wy: "WY"; }; export declare type Region = typeof Region[keyof typeof Region]; export declare type RelatedMember = { readonly __typename: 'RelatedMember'; /** Date of birth of the member. */ readonly dateOfBirth: Maybe; /** First name of the member. */ readonly firstName: Scalars['String']; /** Unique ID of this resource */ readonly id: Scalars['ID']; /** Last name of the member. */ readonly lastName: Scalars['String']; /** Middle name of the member. */ readonly middleName: Maybe; }; export declare type Relationship = Node & { readonly __typename: 'Relationship'; /** The member acting as the related person for the `member`. For example, if a member consents to their spouse participating in their care, specify the spouse's member ID here. */ readonly authorizedMember: RelatedMember; /** Timestamp of when this resource was created. */ readonly createdAt: Scalars['DateTime']; /** A description for this relationship. Use the description to add detail about the relationship, such as whether the related member has power of attorney for the member. */ readonly description: Maybe; /** Unique ID of this resource */ readonly id: Scalars['ID']; /** Current status of the relationship. By default, newly created relationships have a status of 'active'. When a relationship is in a status of 'inactive', the related member can no longer access the member's data. */ readonly status: RelationshipStatus; /** The member receiving care to whom the relationship applies. */ readonly subjectMember: RelatedMember; /** The type of relationship. */ readonly type: RelationshipType; /** Timestamp of when this resource was last updated. */ readonly updatedAt: Scalars['DateTime']; }; export declare type RelationshipConnection = { readonly __typename: 'RelationshipConnection'; /** https://facebook.github.io/relay/graphql/connections.htm#sec-Edge-Types */ readonly edges: ReadonlyArray; /** Flattened list of Relationship type */ readonly nodes: ReadonlyArray; /** https://facebook.github.io/relay/graphql/connections.htm#sec-undefined.PageInfo */ readonly pageInfo: PageInfo; }; export declare type RelationshipEdge = { readonly __typename: 'RelationshipEdge'; /** https://facebook.github.io/relay/graphql/connections.htm#sec-Cursor */ readonly cursor: Scalars['String']; /** https://facebook.github.io/relay/graphql/connections.htm#sec-Node */ readonly node: Relationship; }; export declare const RelationshipStatus: { readonly Active: "ACTIVE"; readonly Inactive: "INACTIVE"; }; export declare type RelationshipStatus = typeof RelationshipStatus[keyof typeof RelationshipStatus]; export declare const RelationshipType: { readonly Brother: "BROTHER"; readonly Child: "CHILD"; readonly Daughter: "DAUGHTER"; readonly Father: "FATHER"; readonly Friend: "FRIEND"; readonly Grandchild: "GRANDCHILD"; readonly Grandparent: "GRANDPARENT"; readonly Mother: "MOTHER"; readonly Other: "OTHER"; readonly Parent: "PARENT"; readonly Partner: "PARTNER"; readonly ProfessionalCaregiver: "PROFESSIONAL_CAREGIVER"; readonly Sibling: "SIBLING"; readonly Sister: "SISTER"; readonly Son: "SON"; readonly Spouse: "SPOUSE"; }; export declare type RelationshipType = typeof RelationshipType[keyof typeof RelationshipType]; export declare type RichText = DisplayElement & { readonly __typename: 'RichText'; /** A conditional statement - if it evaluates to true, this element will be displayed, if false the element will not be displayed. */ readonly conditional: Maybe; /** The rich text content, represented as Markdown text. */ readonly content: Scalars['String']; /** Type of the rich text content. Currently only `md` (i.e. Markdown) is supported. */ readonly contentType: FormContentType; /** Type of the display element */ readonly displayType: DisplayElementType; }; export declare const RoutingStrategy: { readonly CareTeamHybrid: "CARE_TEAM_HYBRID"; readonly CareTeamPreferred: "CARE_TEAM_PREFERRED"; readonly CareTeamRequired: "CARE_TEAM_REQUIRED"; readonly RoundRobin: "ROUND_ROBIN"; }; export declare type RoutingStrategy = typeof RoutingStrategy[keyof typeof RoutingStrategy]; /** Describes an option within a single- or multi-select input. */ export declare type SelectOption = { readonly __typename: 'SelectOption'; /** Hidden 'key' for this option. Must be unique within the question. */ readonly key: Scalars['String']; /** Display label for this option. Must be unique within the question. */ readonly label: Scalars['String']; }; /** If provided, controls whether an 'other' option is provided, and if so whether a free text response is required or not. Omit this to disable the 'other' option and only allow selecting from the provided options. */ export declare type SelectOtherConfig = { readonly __typename: 'SelectOtherConfig'; /** Display label for the 'other' option. */ readonly label: Scalars['String']; /** Whether or not a response to the free-text input is required if the responder selected 'other' */ readonly required: Scalars['Boolean']; }; export declare const SexAtBirth: { readonly Female: "FEMALE"; readonly Male: "MALE"; readonly Other: "OTHER"; readonly Undisclosed: "UNDISCLOSED"; }; export declare type SexAtBirth = typeof SexAtBirth[keyof typeof SexAtBirth]; /** A question for recording person's birth sex, which is a selection between standardized values only. See also: gender identity. */ export declare type SexAtBirthQuestion = Question & { readonly __typename: 'SexAtBirthQuestion'; /** A conditional statement - if it evaluates to true, this question will be displayed, if false the question will not be displayed and no response will be recorded for it. */ readonly conditional: Maybe; /** An optional secondary text for this question, which will be displayed under the title and can contain, for example, instructions on how to answer the question. */ readonly description: Maybe; /** Unique key of this question within the form. Used in responses and conditional logic. */ readonly key: Scalars['String']; /** Type of the question. */ readonly questionType: QuestionType; /** Whether a response to this question is required or optional. Questions that are hidden by conditional rules are never required to have a response. */ readonly required: Scalars['Boolean']; /** Display title of this question in the form, i.e. the question text itself. */ readonly title: Scalars['String']; }; export declare const SingleSelectInputType: { readonly DropDown: "DROP_DOWN"; readonly Radio: "RADIO"; }; export declare type SingleSelectInputType = typeof SingleSelectInputType[keyof typeof SingleSelectInputType]; /** A question type for recording a single choice between provided options. Using the 'other' config, this question can optionally include a user-entered 'other' option. */ export declare type SingleSelectQuestion = Question & { readonly __typename: 'SingleSelectQuestion'; /** A conditional statement - if it evaluates to true, this question will be displayed, if false the question will not be displayed and no response will be recorded for it. */ readonly conditional: Maybe; /** An optional secondary text for this question, which will be displayed under the title and can contain, for example, instructions on how to answer the question. */ readonly description: Maybe; /** Control the input type of the single-select question. */ readonly inputType: SingleSelectInputType; /** Unique key of this question within the form. Used in responses and conditional logic. */ readonly key: Scalars['String']; /** The list of options available for this question. */ readonly options: ReadonlyArray; /** Controls whether a user-generated 'other' free text field is offered, and whether a free text response is required. If this object is blank or null, no 'other' option is presented. */ readonly other: Maybe; /** Type of the question. */ readonly questionType: QuestionType; /** Whether a response to this question is required or optional. Questions that are hidden by conditional rules are never required to have a response. */ readonly required: Scalars['Boolean']; /** Display title of this question in the form, i.e. the question text itself. */ readonly title: Scalars['String']; }; export declare type Slot = { readonly __typename: 'Slot'; /** The list of all possible users who are available during this appointment slot, including the preferred user. We will only return users in this list if they are able to serve the provided appointment type, are available according to their availability, and have no conflicting appointments. */ readonly available: ReadonlyArray; /** The end time of this appointment slot. Slot end times are determined by taking the slot start time and adding the appointment's duration. As a result, it's possible (indeed likely) for slots returned from the API to overlap. For example, if your appointment type has a 15 minute slot interval and a 30 minute duration, your slots will be 10:00-10:30, 10:15-10:45, 10:30-11:00, and so on. */ readonly endAt: Scalars['String']; /** The preferred user to meet with if this slot is chosen. Source automatically determines a preferred user for each slot based on the routing preferences provided when looking up appointment slots. */ readonly preferred: User; /** The start time of this appointment slot. Slot start times will be calculated based on the available times of the bookable resources, as well as the selected appointment type's slot interval. */ readonly startAt: Scalars['String']; }; export declare type Thread = Node & { readonly __typename: 'Thread'; /** The user who is assigned to the thread and will be notified of new messages. */ readonly assignee: Maybe; /** Timestamp of when the thread was last closed. */ readonly closedAt: Maybe; /** Timestamp of when this resource was created. */ readonly createdAt: Scalars['DateTime']; /** Unique ID of this resource */ readonly id: Scalars['ID']; /** Preview of the most recent text message in the thread. */ readonly lastMessage: MessagePreview; /** Timestamp of the last message that was sent on this thread. This message has been read by the member if the last_read timestamp is greater than or equal to the last_message_at timestamp */ readonly lastMessageAt: Scalars['DateTime']; /** The member to which this thread belongs. */ readonly member: Member; /** Timestamp indicating the point through which the member has read. All messages with a `sent_at` after this point are considered unread. If null, the member has not seen any messages on this thread. */ readonly memberLastRead: Maybe; /** Current status of the thread. */ readonly status: ThreadStatus; /** Subject of the thread. */ readonly subject: Maybe; /** Timestamp of when this resource was last updated. */ readonly updatedAt: Scalars['DateTime']; }; export declare type ThreadActionsInput = { /** New status for the thread after sending this message. By default, Source will set the thread status to 'awaiting_care_team' if the member sends the message, and 'awaiting_member' if someone on the care team send the message. */ readonly status?: InputMaybe; }; export declare type ThreadConnection = { readonly __typename: 'ThreadConnection'; /** https://facebook.github.io/relay/graphql/connections.htm#sec-Edge-Types */ readonly edges: ReadonlyArray; /** Flattened list of Thread type */ readonly nodes: ReadonlyArray; /** https://facebook.github.io/relay/graphql/connections.htm#sec-undefined.PageInfo */ readonly pageInfo: PageInfo; }; export declare type ThreadCreateInput = { /** The user who is assigned to the thread and who will be notified of new messages via a task. */ readonly assignee?: InputMaybe; /** The initial message to send when creating this thread. */ readonly message: ThreadMessageInput; /** The thread subject. */ readonly subject?: InputMaybe; }; export declare type ThreadEdge = { readonly __typename: 'ThreadEdge'; /** https://facebook.github.io/relay/graphql/connections.htm#sec-Cursor */ readonly cursor: Scalars['String']; /** https://facebook.github.io/relay/graphql/connections.htm#sec-Node */ readonly node: Thread; }; export declare type ThreadMessageInput = { readonly attachments?: InputMaybe>; /** Contents of the message to send. */ readonly text: Scalars['String']; /** Actions to apply to the thread after the message has been sent. Source guarantees that these actions will only be applied if the message has been successfully sent. See the documentation for nested params for information about each available action. */ readonly threadActions?: InputMaybe; }; export declare const ThreadStatus: { readonly AwaitingCareTeam: "AWAITING_CARE_TEAM"; readonly AwaitingMember: "AWAITING_MEMBER"; readonly Closed: "CLOSED"; }; export declare type ThreadStatus = typeof ThreadStatus[keyof typeof ThreadStatus]; export declare type ThreadUpdateInput = { /** New status for the thread. */ readonly status?: InputMaybe; /** New subject for the thread. */ readonly subject?: InputMaybe; }; export declare type User = Node & Person & { readonly __typename: 'User'; /** Timestamp of when this resource was created. */ readonly createdAt: Scalars['DateTime']; /** The individual's name, formatted for presentation to others */ readonly displayName: Maybe; /** Display text that describes the user's title. The display title will appear in the Source application and the member-facing Elements SDK but will not affect any Source configuration. For example, a physician user's title may be set to 'Physician.' */ readonly displayTitle: Maybe; /** First name of the user. */ readonly firstName: Maybe; /** Unique ID of this resource */ readonly id: Scalars['ID']; /** Last name of the user. */ readonly lastName: Maybe; /** The file for this profile image. */ readonly profileImage: Maybe; /** Current status of the user. Possible status values are `active`, `invited`, and `deactivated`. */ readonly status: UserStatus; /** The time zone identifier for this user. User time zones are used when checking their availability schedules, and may also be used when formatting times outside of the context of a browser (such as an email). */ readonly timeZone: Scalars['String']; /** Timestamp of when this resource was last updated. */ readonly updatedAt: Scalars['DateTime']; }; export declare type UserConnection = { readonly __typename: 'UserConnection'; /** https://facebook.github.io/relay/graphql/connections.htm#sec-Edge-Types */ readonly edges: ReadonlyArray; /** Flattened list of User type */ readonly nodes: ReadonlyArray; /** https://facebook.github.io/relay/graphql/connections.htm#sec-undefined.PageInfo */ readonly pageInfo: PageInfo; }; export declare type UserEdge = { readonly __typename: 'UserEdge'; /** https://facebook.github.io/relay/graphql/connections.htm#sec-Cursor */ readonly cursor: Scalars['String']; /** https://facebook.github.io/relay/graphql/connections.htm#sec-Node */ readonly node: User; }; export declare const UserStatus: { readonly Active: "ACTIVE"; readonly Deactivated: "DEACTIVATED"; readonly Invited: "INVITED"; }; export declare type UserStatus = typeof UserStatus[keyof typeof UserStatus]; export declare const UsersSortArg: { readonly CreatedAt: "CREATED_AT"; readonly CreatedAtDesc: "CREATED_AT_DESC"; readonly LastName: "LAST_NAME"; readonly LastNameDesc: "LAST_NAME_DESC"; }; export declare type UsersSortArg = typeof UsersSortArg[keyof typeof UsersSortArg]; export declare type VideoCall = { readonly __typename: 'VideoCall'; /** The URL to access the video call. Anyone with this link will be able to request to join this video call, so you should ensure it is kept safe. */ readonly joinUrl: Scalars['String']; /** Passcode used when joining the call. This value is not used for Source-generated video calls, but it may be used if using a custom video provider that requires a passcode. */ readonly passcode: Maybe; /** The video call provider. Source automatically generates video call links for every appointment type that is configured to do so. Alternatively, you can use the value `custom` to provide your own video call link. */ readonly provider: VideoCallProvider; /** A unique secure token that identifies the video call and allows a member or a user to join the call. This token is only used for 'source' video calls, and is also present in the join URL. */ readonly token: Maybe; }; export declare const VideoCallProvider: { readonly Custom: "CUSTOM"; readonly Source: "SOURCE"; }; export declare type VideoCallProvider = typeof VideoCallProvider[keyof typeof VideoCallProvider];