import { BaseController } from './base.controller';
import { OrganisationEntity } from 'src/entities/organisation.entity';
import { OrganisationService } from 'src/services/organisation.service';
import { SaveOrganisationDTO, ToggleActiveDTO } from 'src/dtos/organisation.dto';
import { IDDto } from '@serene-dev/la-nest-library';
import { IAuthParam } from 'src/modules/authentication/interfaces/authentication.interface';
export declare class OrganisationController<TEntity extends OrganisationEntity> extends BaseController<TEntity> {
    protected service: OrganisationService<TEntity>;
    constructor(service: OrganisationService<TEntity>);
    create(body: SaveOrganisationDTO, auth: IAuthParam): Promise<string | TEntity>;
    update(body: SaveOrganisationDTO, param: IDDto, auth: IAuthParam): Promise<string | TEntity>;
    toggle(body: ToggleActiveDTO, params: IDDto, auth: IAuthParam): Promise<string | TEntity>;
    regenerateAPIKey(params: IDDto, auth: IAuthParam, type?: 'live' | 'test'): Promise<string | {
        apiKey: string;
        type: string;
    }>;
}
