/**
 * Freshdesk Node - Version 1
 * Discriminator: resource=contact, operation=getAll
 */


interface Credentials {
  freshdeskApi: CredentialReference;
}

/** Get many tickets */
export type FreshdeskV1ContactGetAllParams = {
  resource: 'contact';
  operation: 'getAll';
/**
 * Filters
 * @default {}
 */
    filters?: {
    /** Company ID
     */
    company_id?: number | Expression<number>;
    /** Email
     */
    email?: string | Expression<string> | PlaceholderValue;
    /** Mobile
     */
    mobile?: string | Expression<string> | PlaceholderValue;
    /** Phone
     */
    phone?: string | Expression<string> | PlaceholderValue;
    /** State
     */
    state?: 'blocked' | 'deleted' | 'unverified' | 'verified' | Expression<string>;
    /** Updated Since
     */
    updated_since?: string | Expression<string>;
  };
};

export type FreshdeskV1ContactGetAllOutput = {
  active?: boolean;
  created_at?: string;
  facebook_id?: null;
  first_name?: string;
  id?: number;
  last_name?: string;
  name?: string;
  org_contact_id?: number;
  time_zone?: string;
  twitter_id?: null;
  updated_at?: string;
  visitor_id?: string;
};

export type FreshdeskV1ContactGetAllNode = {
  type: 'n8n-nodes-base.freshdesk';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<FreshdeskV1ContactGetAllParams>;
  output?: Items<FreshdeskV1ContactGetAllOutput>;
};