export function swap(ssl_in: Uint8Array, ssl_out: Uint8Array, pair: Uint8Array, liability_in: BigInt, liability_out: BigInt, swapped_liability_in: BigInt, swapped_liability_out: BigInt, oracles: OracleRegistry, amount_in: BigInt): SwapResult;
export function solana_program_init(): void;
export class Hash {
    static __wrap(ptr: any): any;
    constructor(value: any);
    __destroy_into_raw(): number | undefined;
    ptr: number | undefined;
    free(): void;
    toString(): string;
    equals(other: Hash): boolean;
    toBytes(): Uint8Array;
}
export class Instruction {
    static __wrap(ptr: any): any;
    __destroy_into_raw(): number | undefined;
    ptr: number | undefined;
    free(): void;
}
export class Instructions {
    static __wrap(ptr: any): any;
    __destroy_into_raw(): number | undefined;
    ptr: number | undefined;
    free(): void;
    push(instruction: Instruction): void;
}
export class Keypair {
    static __wrap(ptr: any): any;
    static fromBytes(bytes: Uint8Array): Keypair;
    __destroy_into_raw(): number | undefined;
    ptr: number | undefined;
    free(): void;
    toBytes(): Uint8Array;
    pubkey(): Pubkey;
}
export class Message {
    static __wrap(ptr: any): any;
    __destroy_into_raw(): number | undefined;
    ptr: number | undefined;
    free(): void;
    set recent_blockhash(arg: Hash);
    get recent_blockhash(): Hash;
}
export class OracleRegistry {
    static __wrap(ptr: any): any;
    __destroy_into_raw(): number | undefined;
    ptr: number | undefined;
    free(): void;
    add_oracle(key: Uint8Array, data: Uint8Array): void;
}
export class Pubkey {
    static __wrap(ptr: any): any;
    static createWithSeed(base: Pubkey, seed: string, owner: Pubkey): Pubkey;
    static createProgramAddress(seeds: any[], program_id: Pubkey): Pubkey;
    static findProgramAddress(seeds: any[], program_id: Pubkey): any;
    constructor(value: any);
    __destroy_into_raw(): number | undefined;
    ptr: number | undefined;
    free(): void;
    toString(): string;
    isOnCurve(): boolean;
    equals(other: Pubkey): boolean;
    toBytes(): Uint8Array;
}
export class SwapResult {
    static __wrap(ptr: any): any;
    __destroy_into_raw(): number | undefined;
    ptr: number | undefined;
    free(): void;
    set amount_in(arg: BigInt);
    get amount_in(): BigInt;
    set fee_paid(arg: BigInt);
    get fee_paid(): BigInt;
    set amount_out(arg: BigInt);
    get amount_out(): BigInt;
    set price_impact(arg: number);
    get price_impact(): number;
    set swap_price(arg: number);
    get swap_price(): number;
    set insta_price(arg: number);
    get insta_price(): number;
    set oracle_price(arg: number);
    get oracle_price(): number;
    set iter(arg: number);
    get iter(): number;
}
export class SystemInstruction {
    static createAccount(from_pubkey: Pubkey, to_pubkey: Pubkey, lamports: BigInt, space: BigInt, owner: Pubkey): Instruction;
    static createAccountWithSeed(from_pubkey: Pubkey, to_pubkey: Pubkey, base: Pubkey, seed: string, lamports: BigInt, space: BigInt, owner: Pubkey): Instruction;
    static assign(pubkey: Pubkey, owner: Pubkey): Instruction;
    static assignWithSeed(pubkey: Pubkey, base: Pubkey, seed: string, owner: Pubkey): Instruction;
    static transfer(from_pubkey: Pubkey, to_pubkey: Pubkey, lamports: BigInt): Instruction;
    static transferWithSeed(from_pubkey: Pubkey, from_base: Pubkey, from_seed: string, from_owner: Pubkey, to_pubkey: Pubkey, lamports: BigInt): Instruction;
    static allocate(pubkey: Pubkey, space: BigInt): Instruction;
    static allocateWithSeed(address: Pubkey, base: Pubkey, seed: string, space: BigInt, owner: Pubkey): Instruction;
    static createNonceAccount(from_pubkey: Pubkey, nonce_pubkey: Pubkey, authority: Pubkey, lamports: BigInt): Array<any>;
    static advanceNonceAccount(nonce_pubkey: Pubkey, authorized_pubkey: Pubkey): Instruction;
    static withdrawNonceAccount(nonce_pubkey: Pubkey, authorized_pubkey: Pubkey, to_pubkey: Pubkey, lamports: BigInt): Instruction;
    static authorizeNonceAccount(nonce_pubkey: Pubkey, authorized_pubkey: Pubkey, new_authority: Pubkey): Instruction;
    __destroy_into_raw(): number | undefined;
    ptr: number | undefined;
    free(): void;
}
export class Transaction {
    static __wrap(ptr: any): any;
    static fromBytes(bytes: Uint8Array): Transaction;
    constructor(instructions: Instructions, payer: Pubkey | undefined);
    __destroy_into_raw(): number | undefined;
    ptr: number | undefined;
    free(): void;
    message(): Message;
    messageData(): Uint8Array;
    verify(): void;
    partialSign(keypair: Keypair, recent_blockhash: Hash): void;
    isSigned(): boolean;
    toBytes(): Uint8Array;
}
export default init;
declare function init(input: any): Promise<WebAssembly.Exports>;
