import { Count, Filter, Where } from '@loopback/repository';
import { ContactRepository } from '../repositories/contact.repository';
import { Contact } from '../models';
export declare class ContactController {
    contactRepository: ContactRepository;
    /**
     * The constructor function initializes a ContactRepository instance for managing contact data.
     * @param {ContactRepository} contactRepository - The `contactRepository` parameter is an instance of
     * the `ContactRepository` class that is being injected into the constructor using dependency
     * injection. This allows the class to have access to the methods and properties of the
     * `ContactRepository` class within its own methods.
     */
    constructor(contactRepository: ContactRepository);
    create(contact: Omit<Contact, 'id'>): Promise<Contact>;
    count(where?: Where<Contact>): Promise<Count>;
    find(filter?: Filter<Contact>): Promise<Contact[]>;
    updateAll(contact: Contact, where?: Where<Contact>): Promise<Count>;
    findById(id: string, filter?: Filter<Contact>): Promise<Contact>;
    updateById(id: string, contact: Contact): Promise<void>;
    replaceById(id: string, contact: Contact): Promise<void>;
    deleteById(id: string): Promise<void>;
}
