/* tslint:disable */
/* eslint-disable */

export function aircraft_information(icao24: string, registration?: string | null): any;

export function airport_information(query: string): any;

export function decode(msg: string, reference?: Float64Array | null): any;

export function decode_bds05(msg: string): any;

export function decode_bds10(msg: string): any;

export function decode_bds17(msg: string): any;

export function decode_bds18(msg: string): any;

export function decode_bds19(msg: string): any;

export function decode_bds20(msg: string): any;

export function decode_bds21(msg: string): any;

export function decode_bds30(msg: string): any;

export function decode_bds40(msg: string): any;

export function decode_bds44(msg: string): any;

export function decode_bds45(msg: string): any;

export function decode_bds50(msg: string): any;

export function decode_bds60(msg: string): any;

export function decode_bds65(msg: string): any;

export function run(): void;

export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;

export interface InitOutput {
    readonly memory: WebAssembly.Memory;
    readonly aircraft_information: (a: number, b: number, c: number, d: number) => [number, number, number];
    readonly airport_information: (a: number, b: number) => [number, number, number];
    readonly decode: (a: number, b: number, c: number, d: number) => [number, number, number];
    readonly decode_bds05: (a: number, b: number) => [number, number, number];
    readonly decode_bds10: (a: number, b: number) => [number, number, number];
    readonly decode_bds17: (a: number, b: number) => [number, number, number];
    readonly decode_bds18: (a: number, b: number) => [number, number, number];
    readonly decode_bds19: (a: number, b: number) => [number, number, number];
    readonly decode_bds20: (a: number, b: number) => [number, number, number];
    readonly decode_bds21: (a: number, b: number) => [number, number, number];
    readonly decode_bds30: (a: number, b: number) => [number, number, number];
    readonly decode_bds40: (a: number, b: number) => [number, number, number];
    readonly decode_bds44: (a: number, b: number) => [number, number, number];
    readonly decode_bds45: (a: number, b: number) => [number, number, number];
    readonly decode_bds50: (a: number, b: number) => [number, number, number];
    readonly decode_bds60: (a: number, b: number) => [number, number, number];
    readonly decode_bds65: (a: number, b: number) => [number, number, number];
    readonly run: () => [number, number];
    readonly __wbindgen_malloc: (a: number, b: number) => number;
    readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
    readonly __wbindgen_free: (a: number, b: number, c: number) => void;
    readonly __wbindgen_exn_store: (a: number) => void;
    readonly __externref_table_alloc: () => number;
    readonly __wbindgen_externrefs: WebAssembly.Table;
    readonly __externref_table_dealloc: (a: number) => void;
    readonly __wbindgen_start: () => void;
}

export type SyncInitInput = BufferSource | WebAssembly.Module;

/**
 * Instantiates the given `module`, which can either be bytes or
 * a precompiled `WebAssembly.Module`.
 *
 * @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated.
 *
 * @returns {InitOutput}
 */
export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput;

/**
 * If `module_or_path` is {RequestInfo} or {URL}, makes a request and
 * for everything else, calls `WebAssembly.instantiate` directly.
 *
 * @param {{ module_or_path: InitInput | Promise<InitInput> }} module_or_path - Passing `InitInput` directly is deprecated.
 *
 * @returns {Promise<InitOutput>}
 */
export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise<InitInput> } | InitInput | Promise<InitInput>): Promise<InitOutput>;
