import { PluginType, SegmentEvent, SegmentAPISettings, UpdateType } from '../types';
import { SegmentClient } from '../analytics';
import { DestinationPlugin, WaitingPlugin } from '../plugin';
/**
 * Example WaitingPlugin that automatically resumes after 1 second.
 * Used for testing the waiting plugin mechanism.
 */
export declare class ExampleWaitingPlugin extends WaitingPlugin {
    type: PluginType;
    tracked: boolean;
    configure(analytics: SegmentClient): void;
    execute(event: SegmentEvent): SegmentEvent | undefined;
}
/**
 * Example WaitingPlugin that resumes after 3 seconds when settings are updated.
 * Mimics the Kotlin SDK's ExampleWaitingPlugin behavior.
 */
export declare class ExampleWaitingPlugin1 extends WaitingPlugin {
    type: PluginType;
    tracked: boolean;
    update(_settings: SegmentAPISettings, type: UpdateType): void;
    execute(event: SegmentEvent): SegmentEvent | undefined;
}
/**
 * Example WaitingPlugin that requires manual resume() call.
 * Used for testing manual control of event processing.
 */
export declare class ManualResumeWaitingPlugin extends WaitingPlugin {
    type: PluginType;
    tracked: boolean;
    configure(analytics: SegmentClient): void;
    execute(event: SegmentEvent): SegmentEvent | undefined;
}
/**
 * Stub destination plugin for testing.
 * Always enabled and accepts all events.
 */
export declare class StubDestinationPlugin extends DestinationPlugin {
    key: string;
    protected isEnabled(_event: SegmentEvent): boolean;
}
//# sourceMappingURL=exampleWaitingPlugin.d.ts.map