import { AppSchema, DataSourceType, PageFileStructure } from '@kottster/common';
type ExecuteDevSyncAction = {
    action: 'initApp';
    data: {
        id: number;
        name: string;
        secretKey: string;
    };
    result: object;
} | {
    action: 'updateSchema';
    data: AppSchema;
    result: object;
} | {
    action: 'updateFiles';
    data: {
        createOrUpdatePages?: PageFileStructure[];
    };
    result: object;
} | {
    action: 'getFiles';
    data: {
        pageId: string;
        includeProcedures?: boolean;
    };
    result: {
        page?: PageFileStructure | null;
    };
} | {
    action: 'createPage';
    data: {
        id: string;
        name?: string;
        file?: PageFileStructure;
    };
    result: object;
} | {
    action: 'updatePage';
    data: {
        id: string;
        page: {
            id: string;
            name?: string;
        };
    };
    result: object;
} | {
    action: 'deletePage';
    data: {
        id: string;
    };
    result: object;
} | {
    action: 'addDataSource';
    data: {
        type: DataSourceType;
        connectionDetails: {
            connection: string | Record<string, any>;
            searchPath?: string[];
        };
    };
    result: object;
} | {
    action: 'installPackagesForDataSource';
    data: {
        type: DataSourceType;
    };
    result: object;
} | {
    action: 'getProjectSettings';
    data: object;
    result: {
        usingTsc: boolean;
    };
};
export declare function executeDevSyncAction<A extends ExecuteDevSyncAction['action']>(action: A, data: Extract<ExecuteDevSyncAction, {
    action: A;
}>['data']): Promise<Extract<ExecuteDevSyncAction, {
    action: A;
}>['result']>;
export {};
