import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js'; import ApprovalRecord from './approval-record'; export declare type UnixTimeStamp = number; export declare type UTCOffset = number; export declare enum TriggerType { None = 1, Time = 2, ProgramCondition = 3 } export declare enum FeeSource { FromFeeAccount = 0, FromFlow = 1 } export declare enum ProposalStateType { Pending = 0, Approved = 1, Rejected = 2, ExecutionInProgress = 3, Complete = 4, Failed = 5, Aborted = 6, Deprecated = 7 } export declare class MultisigJob { pubKey: PublicKey; owner: PublicKey; nextExecutionTime: UnixTimeStamp; recurring: boolean; retryWindow: number; remainingRuns: number; dedicatedOperator: PublicKey; clientAppId: number; expiryDate: UnixTimeStamp; expireOnComplete: boolean; scheduleEndDate: UnixTimeStamp; userUtcOffset: UTCOffset; lastScheduledExecution: UnixTimeStamp; createdDate: UnixTimeStamp; lastRentCharged: UnixTimeStamp; lastUpdatedDate: UnixTimeStamp; externalId: string; cron: string; name: string; extra: string; triggerType: TriggerType; payFeeFrom: FeeSource; initialFund: number; appId: PublicKey; instructions: TransactionInstruction[]; safe: PublicKey; ownerSetSeq: number; approvals: ApprovalRecord[]; proposalStage: ProposalStateType; requestedBy: PublicKey; isBNType(property: string): boolean; toSerializableJob(): SerializableJob; validateForCreate(): void; validateForUpdate(): void; static fromJobJson(jobJson: any): MultisigJob; static fromSerializableJob(serJob: SerializableJob, jobPubKey: PublicKey): MultisigJob; } export declare type SerializableJob = any; export declare type InstructionsAndSigners = { instructions: TransactionInstruction[]; signers: Signer[]; };