function testBasics() {
    interface MyModel {
        property: string;
    }
    let model = { property: 'test' };
    const id = 'model';

    const db = new PouchDB<MyModel>();

    db.post(model).then((result) => {
        isString(result.id);
    });
    db.post(model, null, (error, response) => {
    });

    db.get(id).then((result) => model = result);
    db.get(id, null, (error, result) => {
    });

    db.put(model).then((error) => {
    });
    db.put(model, null, (error) => {
    });

    db.info().then((info) => {
    });
    db.info((error, result) => {
    });

    PouchDB.debug.enable('*');
}
function testBasics() {
    interface MyModel {
        property: string;
    }
    let model = { property: 'test' };
    const id = 'model';

    const db = new PouchDB<MyModel>();

    db.post(model).then((result) => {
        isString(result.id);
    });
    db.post(model, null, (error, response) => {
    });

    db.get(id).then((result) => {
        model = result;
        isString(result._id);
        isString(result._rev);
    });
    db.get(id, null, (error, result) => {
    });

    db.put(model).then((error) => {
    });
    db.put(model, null, (error) => {
    });

    db.info().then((info) => {
    });
    db.info((error, result) => {
    });

    // "Round-trippable": can put back a document from get
    db.get('id').then(doc => db.put(doc));

    PouchDB.debug.enable('*');
}