import type * as Merge from "../../../../api/index";
import * as core from "../../../../core";
import type * as serializers from "../../../index";
import { OpportunityAccount } from "./OpportunityAccount";
import { OpportunityOwner } from "./OpportunityOwner";
import { OpportunityStage } from "./OpportunityStage";
import { OpportunityStatus } from "./OpportunityStatus";
import { RemoteData } from "./RemoteData";
import { RemoteField } from "./RemoteField";
export declare const Opportunity: core.serialization.ObjectSchema<serializers.crm.Opportunity.Raw, Merge.crm.Opportunity>;
export declare namespace Opportunity {
    interface Raw {
        id?: string | null;
        remote_id?: string | null;
        created_at?: string | null;
        modified_at?: string | null;
        name?: string | null;
        description?: string | null;
        amount?: number | null;
        owner?: OpportunityOwner.Raw | null;
        account?: OpportunityAccount.Raw | null;
        stage?: OpportunityStage.Raw | null;
        status?: OpportunityStatus.Raw | null;
        last_activity_at?: string | null;
        close_date?: string | null;
        remote_created_at?: string | null;
        remote_was_deleted?: boolean | null;
        field_mappings?: Record<string, unknown> | null;
        remote_data?: RemoteData.Raw[] | null;
        remote_fields?: RemoteField.Raw[] | null;
    }
}
