import { StringifyOptions } from './stringify';
import { CreateBPListingOptions } from './createBPListing';
import toSKU from './toSKU';
import parseSKU from './parseSKU';
import { ISchema } from './types/schema';
import { AddionalEconItemAttributes, BackpackTFListing, DefaultItemAttributes, EconItem, ItemAttributes, ItemAttributesInNumbers, ItemAttributesInStrings, ItemDefindexes, MetaEconAttributes, ParsedEconNameAtributes, SKUAttributes, StrigifySKUAttributes } from './types';
import { EconOptions } from './types/econ';
export * from './types';
export * from './types/schema';
export declare class Format {
    schema: ISchema;
    constructor(schema: ISchema);
    parseEconItem(item: EconItem, inNumbers: false, useDefindexes: true, options?: EconOptions): ParsedEconNameAtributes & ItemDefindexes & MetaEconAttributes & AddionalEconItemAttributes;
    parseEconItem(item: EconItem, inNumbers: false, useDefindexes: false, options?: EconOptions): ParsedEconNameAtributes & MetaEconAttributes & AddionalEconItemAttributes;
    parseEconItem(item: EconItem, inNumbers: true, useDefindexes: true, options?: EconOptions): ParsedEconNameAtributes & ItemDefindexes & ItemAttributesInNumbers & MetaEconAttributes & AddionalEconItemAttributes;
    parseEconItem(item: EconItem, inNumbers: true, useDefindexes: false, options?: EconOptions): ParsedEconNameAtributes & ItemAttributesInNumbers & MetaEconAttributes & AddionalEconItemAttributes;
    parseString(name: string, inNumbers: false, useDefindexes: false): DefaultItemAttributes & ItemAttributesInStrings;
    parseString(name: string, inNumbers: true, useDefindexes: true): DefaultItemAttributes & ItemDefindexes & ItemAttributesInNumbers;
    parseString(name: string, inNumbers: false, useDefindexes: true): DefaultItemAttributes & ItemDefindexes & ItemAttributesInStrings;
    parseString(name: string, inNumbers: true, useDefindexes: false): DefaultItemAttributes & ItemAttributesInNumbers;
    stringify(attributes: StrigifySKUAttributes | ItemAttributes, options?: StringifyOptions): string;
    stringify(sku: string, options?: StringifyOptions): string;
    createBPListing(item: StrigifySKUAttributes | ItemAttributes, options?: CreateBPListingOptions): BackpackTFListing;
    fixName(name: string): string;
    toSKU(item: SKUAttributes): string;
    parseSKU(sku: string): SKUAttributes;
}
export declare function createFormat(schema: ISchema): Format;
export { toSKU, parseSKU };
