import type { ConsumedArtifactBinding, SharedArtifactContract } from "./artifacts.js"; import type { SharedArtifactKey } from "./types.js"; /** Provider-backed instruments input for one scan run. */ export interface InstrumentsInputDescriptor { kind: "instruments"; } /** Provider-backed candle input for one scan run. */ export interface CandlesInputDescriptor { kind: "candles"; /** Optional consumed context contract used to narrow the candle asset fanout. */ preferredAssetsFrom?: Key | SharedArtifactContract; /** Optional hardcoded asset list to narrow the candle request. Takes precedence over `preferredAssetsFrom`. */ fixedAssets?: string[]; } /** Provider-backed smart-money leaderboard input for one scan run. */ export interface SmDataInputDescriptor { kind: "smData"; } /** Provider-backed active-position input for one scan run. */ export interface ActivePositionsInputDescriptor { kind: "activePositions"; } /** Provider-backed clearinghouse state input for one scan run. */ export interface ClearingHouseStateInputDescriptor { kind: "clearingHouseState"; } /** Provider-backed DSL states input for one scan run. */ export interface DslStatesInputDescriptor { kind: "dslStates"; } /** Declarative provider-backed scanner inputs. */ export type ProviderInputDescriptor = InstrumentsInputDescriptor | CandlesInputDescriptor | SmDataInputDescriptor | ActivePositionsInputDescriptor | ClearingHouseStateInputDescriptor | DslStatesInputDescriptor; /** Declarative scanner input descriptor covering providers and shared artifacts. */ export type ScannerInputDescriptor = ProviderInputDescriptor | ConsumedArtifactBinding; /** Builder helpers for provider-backed scanner inputs. */ export declare const providerInput: { /** Declares that a scanner needs the current instrument universe for each run. */ instruments(): InstrumentsInputDescriptor; /** * Declares that a scanner needs candle data for each run. * `preferredAssetsFrom` lets upstream shared artifacts narrow the requested asset set. * `fixedAssets` provides a hardcoded asset list (takes precedence over `preferredAssetsFrom`). */ candles(options?: { preferredAssetsFrom?: Key | SharedArtifactContract; fixedAssets?: string[]; }): CandlesInputDescriptor; /** Declares that a scanner needs smart-money leaderboard data for each run. */ smData(): SmDataInputDescriptor; /** Declares that a scanner needs the currently active positions for each run. */ activePositions(): ActivePositionsInputDescriptor; /** Declares that a scanner needs clearinghouse state (margin, positions, liq prices) for each run. */ clearingHouseState(): ClearingHouseStateInputDescriptor; /** Declares that a scanner needs DSL states for the current strategy for each run. */ dslStates(): DslStatesInputDescriptor; }; /** Runtime guard for provider-backed input descriptors. */ export declare function isProviderInputDescriptor(input: ScannerInputDescriptor): input is ProviderInputDescriptor; /** Runtime guard for consumed shared-artifact bindings in the inputs array. */ export declare function isConsumedArtifactBinding(input: ScannerInputDescriptor): input is ConsumedArtifactBinding; //# sourceMappingURL=input-descriptors.d.ts.map