import type { OracleKmsSignerAdapter, OracleSigner, OutcomeAttestation, ProtocolBoundAttestationContext, ProtocolBoundOutcomeAttestation } from './types.js'; import type { PublicKeyish } from './generated/protocol_types.js'; export type AttestOutcomeParams = { userId: string; cycleId: string; outcomeId: string; asOfIso: string; payload: Record; signer: OracleSigner; submitAttestation?: (attestation: OutcomeAttestation) => Promise<{ txSignature?: string; }>; }; export type AttestOutcomeResult = { attestation: OutcomeAttestation; txSignature: string | null; }; export type AttestProtocolOutcomeParams = { userId: string; cycleId: string; outcomeId: string; payload: Record; context: Omit & { issuedAtIso?: string; }; signer: OracleSigner; submitAttestation?: (attestation: ProtocolBoundOutcomeAttestation) => Promise<{ txSignature?: string; }>; }; export type AttestProtocolOutcomeResult = { attestation: ProtocolBoundOutcomeAttestation; txSignature: string | null; }; export type VerifyProtocolOracleAttestationParams = { nowIso?: string | Date; expectedVerifierPublicKeyBase58: PublicKeyish; expectedVerifierKeyId?: string; expectedNetwork: string; expectedProgramId: PublicKeyish; expectedHealthPlan: PublicKeyish; expectedFundingLine: PublicKeyish; expectedClaimCase: PublicKeyish; expectedAudience: string; expectedNonce?: string; expectedPolicySeries?: PublicKeyish | null; expectedLiquidityPool?: PublicKeyish | null; expectedCapitalClass?: PublicKeyish | null; expectedAllocationPosition?: PublicKeyish | null; expectedPoolOracleApproval?: PublicKeyish | null; expectedPoolOraclePermissionSet?: PublicKeyish | null; expectedPoolOraclePolicy?: PublicKeyish | null; allowUnexpectedOptionalScope?: boolean; }; export declare function createOracleSignerFromEnv(params?: { keyIdEnv?: string; secretKeyBase58Env?: string; }): OracleSigner; export declare function createOracleSignerFromKmsAdapter(adapter: OracleKmsSignerAdapter): OracleSigner; export declare function verifyOracleAttestation(attestation: OutcomeAttestation | ProtocolBoundOutcomeAttestation): boolean; export declare function verifyProtocolOracleAttestation(attestation: ProtocolBoundOutcomeAttestation, params: VerifyProtocolOracleAttestationParams): boolean; export declare function attestOutcome(params: AttestOutcomeParams): Promise; export declare function attestProtocolOutcome(params: AttestProtocolOutcomeParams): Promise;