import { EngineService } from '../engine';
import { ActivityData, ActivityMetadata, ActivityType, TriggerActivity } from '../../types/activity';
import { JobState, ExtensionType, JobStatus } from '../../types/job';
import { ProviderTransaction } from '../../types/provider';
import { StringScalarType } from '../../types/serializer';
import { Activity } from './activity';
declare class Trigger extends Activity {
    config: TriggerActivity;
    constructor(config: ActivityType, data: ActivityData, metadata: ActivityMetadata, hook: ActivityData | null, engine: EngineService, context?: JobState);
    process(options?: ExtensionType): Promise<string>;
    transitionAndLogAdjacent(options: ExtensionType, jobStatus: JobStatus, attrs: StringScalarType): Promise<void>;
    /**
     * `pending` flows will not transition from the trigger to adjacent children until resumed
     */
    initStatus(options: ExtensionType, count: number): number;
    setExpired(seconds: number, transaction: ProviderTransaction): Promise<void>;
    safeKey(key: string): string;
    bindSearchData(options?: ExtensionType): void;
    bindMarkerData(options?: ExtensionType): void;
    setStatus(amount: number): Promise<void>;
    /**
     * if the parent (spawner) chose not to await, emit the job_id
     * as the data payload { job_id }
     */
    execAdjacentParent(): Promise<void>;
    createInputContext(): Partial<JobState>;
    getState(): Promise<void>;
    bindJobMetadataPaths(): string[];
    bindActivityMetadataPaths(): string[];
    resolveGranularity(): string;
    getJobStatus(): number;
    resolveJobId(context: Partial<JobState>): string;
    resolveJobKey(context: Partial<JobState>): string;
    setStateNX(status?: number): Promise<void>;
    setStats(transaction?: ProviderTransaction): Promise<void>;
}
export { Trigger };
