import 'server-only'; import Model, { ModelError } from './model'; import type { AgencyContentItem, AgencyMenu, AgencyPreferences, CarouselItem, CustomForm, DBAPISiteData, HestiaAgencyData, SalesPipelineElement } from './agency.types'; import { SharingPermissionsProps } from '../../state'; import CalendarEvent from './calendar-event'; export * from './agency.types'; export declare const DEFAULT_MARKETING_STATEMENT_TEXT = "Get emails with the latest news and information on the local property market, our products and services. You can unsubscribe at any time."; export declare const DEFAULT_TERMS_STATEMENT_TEXT = "I have read and agree to the Terms and Conditions, Privacy Policy and Cookies Policy."; export default class Agency extends Model { static current(): Promise; static findById(id: number): Promise<{ result: Agency | null; errors: ModelError[] | null; }>; getSharingPermissions(id: number | null): Promise; private formatSharingPermissions; get id(): number | null; get siteId(): number | null; get name(): string | null; get subdomain(): string | null; /** * The raw agency preferences contains API keys so we must remove them here * so the agency can safely be serialized and passed to client components * (we don't remove the google maps key as it is designed for use client-side). * * In future if we need to access any of the keys from agency preferences * we might need a different solution for this. */ get preferences(): Partial | null; get logo(): string | null; get favicon(): string | null; get carouselItems(): CarouselItem[] | null; get contactTelephone(): string | null; get marketingStatementText(): string; get termsStatementText(): string; get customForms(): CustomForm[] | null; get activatedDomain(): string | null; get shortDescription(): string | null; get streetAddress(): string | null; get town(): string | null; get county(): string | null; get postcode(): string | null; get searchTags(): string[]; get contentItems(): AgencyContentItem[] | null; get lettingsFeeText(): string | null; get contentSecurityPolicyHeaders(): string | null; get defaultSearchStatus(): string | null; get defaultSalesSortOrder(): string; get defaultLettingsSortOrder(): string; get salesPipeline(): SalesPipelineElement[]; get isLeadManagerLive(): boolean; get isValuation2Live(): boolean; defaultSortOrder(channel: string): string; defaultBranchesSortOrder(): string; /** * Returns a menu by name from the agency data. Menus are configured in the CMS. * * @example * ```ts * const primaryMenu = agency.getMenu('primary'); * * if (!primaryMenu) return null; * * const { menu_items: menuItems } = primaryMenu; * ``` */ getMenu(name: 'mobile' | 'primary' | 'secondary' | 'branch_primary' | 'footer'): AgencyMenu | null; getContentItem(name: string): any; /** * Fetches dbapi data to make available for additional getters without harming * performance of themes that only require hestia data. */ getExtendedData(): Promise; getCalendarEvents(title?: string): Promise; } //# sourceMappingURL=agency.d.ts.map