import * as anchor from "@coral-xyz/anchor";
import { BN, Program } from "@coral-xyz/anchor";
import { PublicKey } from "@solana/web3.js";
import { SvmSpoke } from "../../target/types/svm_spoke";
declare function setCurrentTime(program: Program<SvmSpoke>, state: any, signer: anchor.web3.Keypair, newTime: BN): Promise<void>;
declare function getCurrentTime(program: Program<SvmSpoke>, state: any): Promise<number>;
declare function assertSE(a: any, b: any, errorMessage: string): void;
interface DepositData {
    depositor: PublicKey | null;
    recipient: PublicKey;
    inputToken: PublicKey | null;
    outputToken: PublicKey;
    inputAmount: BN;
    outputAmount: BN;
    destinationChainId: BN;
    exclusiveRelayer: PublicKey;
    quoteTimestamp: BN;
    fillDeadline: BN;
    exclusivityPeriod: BN;
    message: Buffer;
}
export type DepositDataValues = [
    PublicKey,
    PublicKey,
    PublicKey,
    PublicKey,
    BN,
    BN,
    BN,
    PublicKey,
    number,
    number,
    number,
    Buffer
];
export declare const common: {
    provider: anchor.AnchorProvider;
    connection: anchor.web3.Connection;
    program: anchor.Program<SvmSpoke>;
    owner: anchor.web3.PublicKey;
    chainId: anchor.BN;
    remoteDomain: anchor.BN;
    localDomain: number;
    crossDomainAdmin: anchor.web3.PublicKey;
    seedBalance: number;
    destinationChainId: anchor.BN;
    recipient: anchor.web3.PublicKey;
    exclusiveRelayer: anchor.web3.PublicKey;
    outputToken: anchor.web3.PublicKey;
    inputAmount: anchor.BN;
    outputAmount: anchor.BN;
    quoteTimestamp: anchor.BN;
    fillDeadline: anchor.BN;
    exclusivityPeriod: anchor.BN;
    message: Buffer;
    depositQuoteTimeBuffer: anchor.BN;
    fillDeadlineBuffer: anchor.BN;
    initializeState: (seed?: BN, initialState?: {
        initialNumberOfDeposits: BN;
        chainId: BN;
        remoteDomain: BN;
        crossDomainAdmin: PublicKey;
        depositQuoteTimeBuffer: BN;
        fillDeadlineBuffer: BN;
    }) => Promise<anchor.web3.PublicKey>;
    createRoutePda: (originToken: PublicKey, state: PublicKey, routeChainId: BN) => anchor.web3.PublicKey;
    getVaultAta: (tokenMint: PublicKey, state: PublicKey) => anchor.web3.PublicKey;
    setCurrentTime: typeof setCurrentTime;
    getCurrentTime: typeof getCurrentTime;
    assert: Chai.AssertStatic;
    assertSE: typeof assertSE;
    depositData: DepositData;
};
export {};
