import { z } from 'zod'; import { OnStartContext, TestOrRunHookContext, TriggerHookContext } from '../context'; import { TriggerBase } from '../piece-metadata'; import { InputPropertyMap } from '../property'; import { ExtractPieceAuthPropertyTypeForMethods, PieceAuthProperty } from '../property/authentication'; import { TriggerStrategy, TriggerTestStrategy, WebhookHandshakeConfiguration } from '@activepieces/shared'; export { TriggerStrategy }; export declare const DEDUPE_KEY_PROPERTY = "_dedupe_key"; export declare enum WebhookRenewStrategy { CRON = "CRON", NONE = "NONE" } type OnStartRunner = (ctx: OnStartContext) => Promise; export declare const WebhookRenewConfiguration: z.ZodUnion; cronExpression: z.ZodString; }, z.core.$strip>, z.ZodObject<{ strategy: z.ZodLiteral; }, z.core.$strip>]>; export type WebhookRenewConfiguration = z.infer; export interface WebhookResponse { status: number; body?: unknown; headers?: Record; } type BaseTriggerParams = { name: string; displayName: string; description: string; requireAuth?: boolean; auth?: PieceAuth; props: TriggerProps; type: TS; onEnable: (context: TriggerHookContext, TriggerProps, TS>) => Promise; onDisable: (context: TriggerHookContext, TriggerProps, TS>) => Promise; run: (context: TestOrRunHookContext, TriggerProps, TS>) => Promise; test?: (context: TestOrRunHookContext, TriggerProps, TS>) => Promise; onStart?: OnStartRunner, TriggerProps>; sampleData: unknown; }; type WebhookTriggerParams = BaseTriggerParams & { handshakeConfiguration?: WebhookHandshakeConfiguration; onHandshake?: (context: TriggerHookContext, TriggerProps, TS>) => Promise; renewConfiguration?: WebhookRenewConfiguration; onRenew?(context: TriggerHookContext, TriggerProps, TS>): Promise; }; type CreateTriggerParams = TS extends TriggerStrategy.WEBHOOK ? WebhookTriggerParams : BaseTriggerParams; export declare class ITrigger implements TriggerBase { readonly name: string; readonly displayName: string; readonly description: string; readonly requireAuth: boolean; readonly props: TriggerProps; readonly type: TS; readonly handshakeConfiguration: WebhookHandshakeConfiguration; readonly onHandshake: (ctx: TriggerHookContext, TriggerProps, TS>) => Promise; readonly renewConfiguration: WebhookRenewConfiguration; readonly onRenew: (ctx: TriggerHookContext, TriggerProps, TS>) => Promise; readonly onEnable: (ctx: TriggerHookContext, TriggerProps, TS>) => Promise; readonly onDisable: (ctx: TriggerHookContext, TriggerProps, TS>) => Promise; readonly onStart: OnStartRunner, TriggerProps>; readonly run: (ctx: TestOrRunHookContext, TriggerProps, TS>) => Promise; readonly test: (ctx: TestOrRunHookContext, TriggerProps, TS>) => Promise; readonly sampleData: unknown; readonly testStrategy: TriggerTestStrategy; constructor(name: string, displayName: string, description: string, requireAuth: boolean, props: TriggerProps, type: TS, handshakeConfiguration: WebhookHandshakeConfiguration, onHandshake: (ctx: TriggerHookContext, TriggerProps, TS>) => Promise, renewConfiguration: WebhookRenewConfiguration, onRenew: (ctx: TriggerHookContext, TriggerProps, TS>) => Promise, onEnable: (ctx: TriggerHookContext, TriggerProps, TS>) => Promise, onDisable: (ctx: TriggerHookContext, TriggerProps, TS>) => Promise, onStart: OnStartRunner, TriggerProps>, run: (ctx: TestOrRunHookContext, TriggerProps, TS>) => Promise, test: (ctx: TestOrRunHookContext, TriggerProps, TS>) => Promise, sampleData: unknown, testStrategy: TriggerTestStrategy); } export type Trigger = ITrigger; export declare const createTrigger: (params: CreateTriggerParams) => ITrigger | ITrigger | ITrigger | ITrigger; //# sourceMappingURL=trigger.d.ts.map