/**
 * Extended barrage api functions
 * @packageDocumentation
 */
import { Barrage, Hull, Ships } from '../../types/barrage';
import API from './api';
import { AzurAPI } from '../Client';
/**
  * Special barrage class for extended functionality
  */
export declare class Barrages extends API<Barrage> {
    /**
     * Constructor
     * @param client An AzurAPI instance
     */
    constructor(client: AzurAPI);
    /**
     * Get by id
     * @param id String of number
     */
    id(id: string): Barrage | undefined;
    /**
     * Get barrage by name
     * @param name Barrage name
     */
    name(name: string): Barrage[] | [];
    /**
     * Get barrage by type
     * @param type Barrage type
     */
    type(type: 'ship' | 'class' | 'skill'): Barrage[] | [];
    /**
     * Get barrage by hull type
     * @param hull Hull type
     */
    hull(hull: Hull): Barrage[] | [];
    /**
     * Sort barrages by compatable ship
     * @param ship A ship name
     */
    ships(ship: Ships): Barrage[] | [];
    get(query: string): Barrage[];
}
