import { AnyRelease, DraftRelease, PageSuggestion, Project, Release } from "../../data/types";
import { SupabaseError } from "../../supabase-client/supabase-api";
import { SupabaseProject } from "../../supabase-client/supabase-types";
import { AppThunk } from "../reducers/root";
/**
 * Projects
 */
export declare function loadProject({ id, project, commitVersion, subframeImportAlias, opsTransactionId, companyName, companyContext, pageSuggestions, schemaVersion, }: {
    id: string;
    project: Project;
    commitVersion: number;
    subframeImportAlias: string;
    opsTransactionId: string | null;
    companyName: string | null;
    companyContext: string | null;
    pageSuggestions: PageSuggestion[] | null;
    schemaVersion: number;
}): AppThunk<void>;
export declare function releaseLatestChanges(name: string, release: DraftRelease): AppThunk<Promise<SupabaseProject | SupabaseError>>;
export declare function updateSupabaseProjectMetadata(id: string, update: {
    pageSuggestions: PageSuggestion[];
    companyName: string;
    companyContext: string;
}): AppThunk<Promise<SupabaseProject | SupabaseError>>;
export declare function updateSupabaseProject(id: string, update: {
    project: Project;
    commitVersion: number;
    opsTransactionId: string | null;
    schemaVersion: number;
}): AppThunk<Promise<SupabaseProject | SupabaseError>>;
export declare function makeDraftReleaseFromRelease(release: AnyRelease): DraftRelease;
export declare function revertToRelease(release: Release): AppThunk<DraftRelease>;
export declare function discardCurrentChanges(): AppThunk<DraftRelease>;
//# sourceMappingURL=project-thunks.d.ts.map